Hi,
Informix sagt mir primär nix, ausser dass es quasi von IBM stammt.
Ich hoffe, es unterstützt SQL nach ANSI 92 Standard und damit explizite JOIN syntax. Mit letzterer wird dein SQL auch viel deutlicher lesbar.
SELECT
pe1.wert,
pe2.wert,
sum(auftragposition.menge) AS Menge
FROM produkt
INNER JOIN produkteigenschaft pe1
ON produkt.id = pe1.produkt_id
-- und jetzt nur die Produkteingeschaften LÄNGE
AND pe1.Name = 'länge'
INNER JOIN produkteigenschaft pe2
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
INNER JOIN auftrag
ON auftragposition.auftrag_id = auftrag.id
AND auftrag.lieferdatum BETWEEN "2007-01-01" AND "2007-02-01"
GROUP BY pe1.wert,
pe2.wert
ORDER BY Menge DESC
Du musst also die Tabelle 'produkteigenschaft' 2x joinen.
Gruss, Frank