Supportnet / Forum / Datenbanken
Aus zwei Tabellen eine einzige machen, mit Daten aus beiden Tabellen
Frage
Ich habe zwei Tabellen.
In jeder Tabelle stehen Kundendatensätze von verschiedenen Kundenstämmen.
Also
Tabelle1: Kundenname, Kundenanschrift,
gekaufte Produkte
Tabelle2: Kundenname, Kundenanschrift,
gekaufte Produkte
Wie gesagt, es sind zwei verschiedene Kundenstämme, deswegen UNBEDINGT die Trennung in zwei Tabellen.
Nun gibt es aber ein Produkt, das von beiden Kundenstämmen gekauft wird.
Ich habe das bei jedem Kunden als Ja/Nein Feld (also: kauft Produkt / kauft nicht) realisiert.
Jetzt möchte ich, das Access automatisch eine neue Tabelle (oder Abfrage) generiert, in der alle Kunden
(egal aus welchem Kundenstamm also egal ob aus Tabelle1 oder Tabelle2) aufgeführt sind, die dieses spezielle Produkt kaufen. Und zwar möglichst so, daß man Name und Adresse gleich parat hat und eigentlich gar nicht mehr unbedingt erkennt, aus welcher Ursprungstabelle der jew. Datensatz eigentlich kommt. Ist das irgendwie möglich? Und wenn ja - wie?
Antwort 1 von UweP
Hallo Micha,
es ist möglich über eine Verknüpfung in der Abfrage!
Wenn ich Dich richtig verstanden habe, musst Du
a) eine Hilfstabelle mit den ausgewählten Produkten erstellen;
b) eine Verknüpfung über die ausgewählten Produkte zu den beiden Kundenstämmen erstellen!
Vorsicht!!!
Es kann sein, dass das ausgewählte Produkt mal im ersten und nicht im zweiten Kundenstamm und umgekehrt auftauchen kann!
Oder handelt es ich nur um Produkte, die in beiden Kundenstämmen auftaucht?
Wenn Du magst, kannst Du mir mal eine DB (Testdaten) zukommen lassen.
Dann ist etwas einfacher, es darzustellen!
Es lässt sich lösen, wenn Du ein eindeutiges Kriterium hast, z.B. Produkt-Nr. bzw. Produkt-Name!
Gruß
Uwe
es ist möglich über eine Verknüpfung in der Abfrage!
Wenn ich Dich richtig verstanden habe, musst Du
a) eine Hilfstabelle mit den ausgewählten Produkten erstellen;
b) eine Verknüpfung über die ausgewählten Produkte zu den beiden Kundenstämmen erstellen!
Vorsicht!!!
Es kann sein, dass das ausgewählte Produkt mal im ersten und nicht im zweiten Kundenstamm und umgekehrt auftauchen kann!
Oder handelt es ich nur um Produkte, die in beiden Kundenstämmen auftaucht?
Wenn Du magst, kannst Du mir mal eine DB (Testdaten) zukommen lassen.
Dann ist etwas einfacher, es darzustellen!
Es lässt sich lösen, wenn Du ein eindeutiges Kriterium hast, z.B. Produkt-Nr. bzw. Produkt-Name!
Gruß
Uwe
Antwort 2 von 14071
Hallo Micha,
also für mich stellt sich schon mal die Frage, warum du die Daten in 2 Tabellen vorhältst. Die Trennung könntest du doch über ein Feld in der Tabelle realisieren. zB Feld Kundenstamm 1,2 und beliebige andere definierbar. Wie auch immer, du kannst das Feld ja nachträglich in beide Tabellen einfügen und über eine Aktualisierungsabfrage der Wert auf 1 bzw setzen. Anschließend lässt du eine Anfügeabfrage laufen und fügst Tabelle 1 an 2 an. Alternativ kannst du natürlich ne neue erstellen und beide tables anfügen. Aber der Sinn einer relationalen Datenbank wird dabei immer mehr in Frage gestellt.
Hoffe der Tipp hilft dir trotzdem. Sonst poste nochmal.
Gruß
Jürgen
also für mich stellt sich schon mal die Frage, warum du die Daten in 2 Tabellen vorhältst. Die Trennung könntest du doch über ein Feld in der Tabelle realisieren. zB Feld Kundenstamm 1,2 und beliebige andere definierbar. Wie auch immer, du kannst das Feld ja nachträglich in beide Tabellen einfügen und über eine Aktualisierungsabfrage der Wert auf 1 bzw setzen. Anschließend lässt du eine Anfügeabfrage laufen und fügst Tabelle 1 an 2 an. Alternativ kannst du natürlich ne neue erstellen und beide tables anfügen. Aber der Sinn einer relationalen Datenbank wird dabei immer mehr in Frage gestellt.
Hoffe der Tipp hilft dir trotzdem. Sonst poste nochmal.
Gruß
Jürgen
Antwort 3 von Micha Gelle
Also vielleicht mal zur Verdeutlichung ein Beispiel aus der Computerbranche.
Angenommen ich hätte eine große Softwareschmiede für Internetbrowser.
Habe zwei Programme auf den Markt gebracht: IExplorer und Netscape.
Jetzt gibt es zwei Kundenstämme:
1. die eingefleischten Iexplorer - Nutzer, die NIE Netscape benutzen würden, und auch nur PlugIns für IE kaufen würden (die dann auch nur Werbung für IE-ZusatzplugIns bekommen)
2. Die eingefleischten Netscape benutzer, die ebenfalls nur PlugIn-Programme und Werbung für Netscape haben wollen.
Nun bringe ich aber Anfang 2001 das Programm "Megaflash" auf den Markt, das sowohl mit IE funzt, als auch mit Netscape. Jetzt brauchen also AUSNAHMSWEISE beide Kundenstämme die gleiche Produktwerbung, und die Käufer kommen auch aus beiden schichten.
Zum Versenden und drucken der Anschriften-Etiketten brauche ich die Anschriften aller "Megaflash" Käufer - dabei ist egal ob sie nun aus dem IE-Kundenstamm oder aus dem Netscape Kundenstamm kommen.
Im übrigen habe ich es vormals mit einer einzigen großen Tabelle versucht, das klappte auch, war aber höchst unübersichtlich und unbequem zu handlen..
Angenommen ich hätte eine große Softwareschmiede für Internetbrowser.
Habe zwei Programme auf den Markt gebracht: IExplorer und Netscape.
Jetzt gibt es zwei Kundenstämme:
1. die eingefleischten Iexplorer - Nutzer, die NIE Netscape benutzen würden, und auch nur PlugIns für IE kaufen würden (die dann auch nur Werbung für IE-ZusatzplugIns bekommen)
2. Die eingefleischten Netscape benutzer, die ebenfalls nur PlugIn-Programme und Werbung für Netscape haben wollen.
Nun bringe ich aber Anfang 2001 das Programm "Megaflash" auf den Markt, das sowohl mit IE funzt, als auch mit Netscape. Jetzt brauchen also AUSNAHMSWEISE beide Kundenstämme die gleiche Produktwerbung, und die Käufer kommen auch aus beiden schichten.
Zum Versenden und drucken der Anschriften-Etiketten brauche ich die Anschriften aller "Megaflash" Käufer - dabei ist egal ob sie nun aus dem IE-Kundenstamm oder aus dem Netscape Kundenstamm kommen.
Im übrigen habe ich es vormals mit einer einzigen großen Tabelle versucht, das klappte auch, war aber höchst unübersichtlich und unbequem zu handlen..
Antwort 4 von UweP
Hallo Micha,
habe Dein Problem schon verstanden!
Der Hinweis von Jürgen zur redundanten Datenspeicherung ist ja auch nicht vekehrt!
Wenn für dich das Händeln der zwei Tabellen einfacher ist, dann bleib dabei!
Schau mal Dein Postfach nach, habe Dir eine DB zugesandt, vielleicht löst es Dein Problem!
Gruß
Uwe
habe Dein Problem schon verstanden!
Der Hinweis von Jürgen zur redundanten Datenspeicherung ist ja auch nicht vekehrt!
Wenn für dich das Händeln der zwei Tabellen einfacher ist, dann bleib dabei!
Schau mal Dein Postfach nach, habe Dir eine DB zugesandt, vielleicht löst es Dein Problem!
Gruß
Uwe
Antwort 5 von Micha Gelle
An Uwe:
Vielen Dank! Jetzt hab ichs endlich kapiert! Diese Anfüge-Problematik war der Stein des Anstoßes. Das es irgendwas mit Verknüpfungen zu tun hat, war mir schon klar.
Also nochmals vielen Dank für die Unterstützung und den Aufwand, den Du Dir meinetwegen gemacht hast! Danke.
Vielen Dank! Jetzt hab ichs endlich kapiert! Diese Anfüge-Problematik war der Stein des Anstoßes. Das es irgendwas mit Verknüpfungen zu tun hat, war mir schon klar.
Also nochmals vielen Dank für die Unterstützung und den Aufwand, den Du Dir meinetwegen gemacht hast! Danke.
Antwort 6 von UweP
Hallo Micha,
schön, dass es Dir geholfen hat!
Danke für Deine Rückmeldung!
Gruß
Uwe
schön, dass es Dir geholfen hat!
Danke für Deine Rückmeldung!
Gruß
Uwe
Antwort 7 von otto
hallo, statt anfügeabfrage kann auch eine unionabfrage genommen werden.
select kunde, kunr, firma from tabelle1
union select kunde, kunr, firma from tabelle2
select kunde, kunr, firma from tabelle1
union select kunde, kunr, firma from tabelle2
Antwort 8 von draack
Hi!
Und wieder hat jemand eine Datenbank mit einer Excel-Tabelle verwechselt ... Grrrr!
Dein Datenbankentwurf ist #*@$%&!
Du hättest lieber jemanden fragen sollen, der sich damit (Normalformen-Codd) auskennt!
Ciao!
Volker.
Und wieder hat jemand eine Datenbank mit einer Excel-Tabelle verwechselt ... Grrrr!
Dein Datenbankentwurf ist #*@$%&!
Du hättest lieber jemanden fragen sollen, der sich damit (Normalformen-Codd) auskennt!
Ciao!
Volker.

