Also ersteinmal ein großes Dankeschön!
Hab nicht erwartet das du mir gleich den ganzen Code lieferst ;-)
Aber es funktioniert einwandfrei, genau so wie ich es wollte.
Mich jetzt nicht undankbar einschätzen, aber ich würde es auch gerne vollständig verstehen ;-)
[code lang=sql]
SELECT
pe1.wert,
pe2.wert,
hier werden doch Aliasnamen erstellt oder?
Ich wusste gar nicht das so funktioniert...
sum(auftragposition.menge) AS Menge
FROM produktd
INNER JOIN produkteigenschaft pe1
Bedeutet das, dass du ein Ergebniss nur für die Variable pe1 holst?
ON produkt.id = pe1.produkt_id
-- und jetzt nur die Produkteingeschaften LÄNGE
AND pe1.Name = 'länge'
INNER JOIN produkteigenschaft pe2
Und hier wird das Ergebniss mit farbe in die Variable pe2 geschrieben, oder?
ON produkt.id = pe2.produkt_id
-- und jetzt nur die Produkteingeschaften FARBE
AND pe2.Name = 'farbe'
INNER JOIN auftragposition
ON produkt.id = auftragposition.produkt_id
Wo ist auf Übersichtlicher Betrachtung JOIN besser als ohne?
Ohne wäre ja dann:
oben bei SELECT die tabellen auftragposition,produkt schreiben
und dann in der WHERE Klausel produkt.id = auftragposition.produkt_id. Oder sehe ich da was falsch?
INNER JOIN auftrag
ON auftragposition.auftrag_id = auftrag.id
AND auftrag.lieferdatum BETWEEN "2007-01-01" AND "2007-02-01"
Ok BETWEEN ist natürlich besser als das vorherige ;-)
GROUP BY pe1.wert,
pe2.wert
ORDER BY Menge DESC
Du musst also die Tabelle 'produkteigenschaft' 2x joinen.
Ja genau, aber ich wusste nicht wie *g*
Gruss, Frank