Hi Andreas
Aber so einfach LEFT JOINS der Art
SELECT p.id as id, p.preis as preis, w.name as name
FROM produkte as p
LEFT JOIN warengruppen as w
ON p.wgruppe = w.wgruppe
WHERE p.preis > 100
ORDER BY p.preis DESC
>
> müssten die aktuelleren Versionen doch alle können, oder entdeckst Du darin auch einen fiesen MySQL-Dialekt? ;-)
Evtl ist ein OUTER zwischen LEFT und JOIN nötig, sonst wie gesagt, afair ab Oracle 8 gehts.
> Mal noch ne kleine Stufe komplizierter:
>
> ~~~sql
SELECT (SUM(p.preis * p.menge) * w.rabatt) as endpreis, w.wgruppe as warengruppe
> FROM produkte as p
> LEFT JOIN warengruppen as w
> ON p.wgruppe = w.wgruppe
> WHERE p.preis > 100
> GROUP BY w.wgruppe, w.rabatt
> ORDER BY p.preis DESC
Ist das immer noch "Standard genug"? Vielleicht fällt Dir ja spontan eine "Todsünde" auf ;-)
Das könnte evtl Ärger geben da der Preis nicht im Resultat mit drin ist. Manche DBMS können nur nach Feldern sortieren, die auch ausgegeben werden.
Gruss Daniela