atlantyz
Erfahrenes Mitglied
Hallo,
ich habe mal wieder ein Problem, bei dem ich nicht weiter komme.
Ich habe 3 Tabellen, die ich miteinander verknüpfen möchte.
Dabei handelt es sich um eine Tabelle mit Artikeln, eine mit Bestellungen und eine mit Firmennamen.
Ich verknüpfe die Tabellen mit "join" und bekomme dann die Firma mehrmals ausgegeben, obwohl ich sie nur einmal brauche, sowie die Bestellnummer mehrmals.
Da kommt folgendes bei raus:
Wie man sieht, habe ich nun die Bestellnr 1004 insgesamt 5x, weil 5 unterschiedliche Artikel dran hängen. Ich benötige sie aber nur 1x, weil wenn ich mir das in PHP als Tabelle ausgeben lasse, stehen die Artikel einzeln mit jeweils ihrer dazugehörigen Bestellung untereinander. ich möchte aber die Bestellung ausgeben und dann die 5 dazugehörigen Artikel.
Kann ich den vorderen Teil der Tabelle irgendwie so zusammenfassen, dass das dabei rauskommt:
Bisher habe ich es so gelöst: ich habe mir die Bestellungen anhand Kriterien rausgesucht und dann eine Extra- Abfrage zu den Artikeln gemacht. Da das aber sehr lange dauert, würde ich es gern in eine einzige Abfrage packen. Oder geht das einfach nicht, was ich mir vorstelle?
Ich hoffe man kann das mit den Tabellen erkennen. Ich bekomm irgendwie grad keine gescheite Formatierung hin.
ich habe mal wieder ein Problem, bei dem ich nicht weiter komme.
Ich habe 3 Tabellen, die ich miteinander verknüpfen möchte.
Dabei handelt es sich um eine Tabelle mit Artikeln, eine mit Bestellungen und eine mit Firmennamen.
Ich verknüpfe die Tabellen mit "join" und bekomme dann die Firma mehrmals ausgegeben, obwohl ich sie nur einmal brauche, sowie die Bestellnummer mehrmals.
PHP:
SELECT mod_stamm_firmen.bezeichnung as firma,
mod_best_bestellungen.id as bestellnr,
mod_best_bestellungen.datum_angelegt as datum,
mod_best_bestellungen.bestellt_fuer,
mod_best_artikel.bezeichnung
FROM ((mod_best_bestellungen INNER JOIN mod_stamm_firmen on mod_best_bestellungen.id_firma = mod_stamm_firmen.id)
INNER JOIN mod_best_artikel on mod_best_artikel.bestell_id = mod_best_bestellungen.id)
WHERE mod_best_bestellungen.datum_bestellt !='0' and storno != '1' and abg = '1'
ORDER BY datum
Da kommt folgendes bei raus:
Code:
firma bestellnr datum bestellt_fuer bezeichnung
Systempartner 1004 1081288800 #_Komplett-PC
Systempartner 1004 1081288800 #_TFT15
Systempartner 1004 1081288800 #_Office 2003 Basic
Systempartner 1004 1081288800 #_TFT 17
Systempartner 1004 1081288800 #_Windows 2000
MeTa 1005 1081893600 #_ACDsee 6.0 Deluxe
Vistec 1007 1081980000 EDV #_Firewall Netscreen
Systempartner 1006 1081980000 #_Laserfax HP 3380
MeTa 1008 1082584800 Verwaltung #_USB Hotsync Kabel
MeTa 1008 1082584800 Verwaltung #_Travel Charger Kit
Systempartner 1234 1126130400 #_Sony Netzteil VGN-S4XP
Kann ich den vorderen Teil der Tabelle irgendwie so zusammenfassen, dass das dabei rauskommt:
Code:
firma bestellnr datum bestellt_fuer bezeichnung
Systempartner 1004 108128880 #_Komplett-PC
#_TFT15
#_Office
Bisher habe ich es so gelöst: ich habe mir die Bestellungen anhand Kriterien rausgesucht und dann eine Extra- Abfrage zu den Artikeln gemacht. Da das aber sehr lange dauert, würde ich es gern in eine einzige Abfrage packen. Oder geht das einfach nicht, was ich mir vorstelle?
Ich hoffe man kann das mit den Tabellen erkennen. Ich bekomm irgendwie grad keine gescheite Formatierung hin.