Andreas Korthaus: zusätzliche Daten bei GROUP BY abfragen

Beitrag lesen

Hallo Daniela!

Postgres und DB2 (ich kenn nur die Mainframe-Version) können Sub-Queries absolut problemlos, ebenso Oracle.  Oracle ist in sehr alten Versionen (afair <=7) etwas schwach was Joins angeht.

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? ;-)

Mal noch ne kleine Stufe komplizierter:

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 ;-)

SUM() unterstützen AFAIK alle von mir genannten RDBMS. Allerdings bin ich mir nicht so sicher wie das ist bei GROUP BY und der Multiplikation mit aggregierten Werten, aber eigentlich sollte das doch funktionieren, bei MySQL z.B. gehts - was ja leider nicht viel heißt :-(

Da gab es eine eigene Syntax.

Wie für so vieles, z.B. Limitierungen...

MySQL verursacht sowieso nur Knoten in den Fingern und sollte ignoriert werden bis die wenigstens den Minimal-Level von SQL92 leidlich implementieren.

Naja, kommt immer drauf an womit man gelernt hat. Wenn man Features die woanders Standard sind nicht kennt, vermisst man sie am Anfang natürlich nicht. Ist jedenfalls alles andere als einfach portablen SQL-Code zu schreiben, vor allem wenn es dann etwas komplexer wird...

Eine nette Gegenüberstellung (wenn auch nicht in Tabellenform) ist in SQL in a Nutshell von O'Reilly drin.

Danke für den Tipp, werd ich mal demnächst nen Blick reinwerfen wenn ich in der Buchhandlung bin!

Viele Grüße und Danke für die Hinweise
Andreas

--
SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/