Join, aber nur wenn
am 08.08.2006 07:05:13 von Martin SchneiderHallo!
Ich habe eine Tabelle, die Artikel enthält, u.a. auch einen Artikelpreis.
Jedem Artikel kann eine Gruppe von "Zusatzprodukten" zugewiesen werden.
In dieser Art:
1. Artikel, Zusatzprodukte-Gruppe: 1, Preis 3 EUR
2. Artikel, Zusatzprodukte-Gruppe: 2, Preis 5 EUR
3. Artikel, Zusatzprodukte-Gruppe: 1, Preis 2 EUR
Zusatzprodukte:
1. Zusatzprodukt, Zusatzprodukte-Gruppe: 1, Preis 1 EUR
2. Zusatzprodukt, Zusatzprodukte-Gruppe: 1, Preis 3 EUR
In diesem Beispiel hätten nun Artikel 1+3 zwei mögliche Zusatzprodukte,
Artikel 2 hätte kein mögliches Zusatzprodukt.
Ich möchte nun in einem(!) Query wissen, was der Kunde für ein Artikel
inkl. Zusatzprodukt (es geht immer nur eins) bezahlen muss:
SELECT (artikel.preis + zusatzprodukt.preis)
FROM artikel, zusatzprodukte
WHERE ...[Kunde identifizieren usw] AND artikel.zusatzproduktgruppe =
zusatzprodukte.zusatzproduktgruppe ;
Das geht auch solange, wie dem Artikel ein Zusatzprodukt zugewiesen
wurde. Wenn aber nun jemand den 2. Artikel bestellt, erhält dieser
Select natürlich kein Ergebnis, weil kein Zusatzprodukt im Join passt.
Das kann ich natürlich innerhalb von 2 Abfragen rauskriegen, aber es
wäre schön, wenn ich es in eine Abfrage packen könnte. Geht das mit
MySql 4.0.x?
Viele Grüße
Martin