Vinzenz Mai: SQL: Max-Wert tabellenübergreifend ermitteln

Beitrag lesen

Hallo

jetzt ist noch eine zweite Frage aufgetaucht, bei der ich nicht auf eine Lösung komme: Angenomme, ich habe eine Datenbank mit mehreren Produkttabellen, zB. eine Tabelle PC, eine Tabelle Laptop usw. Jede dieser Tabellen hat auch ein Attribut Preis.

das sieht nach einer miserablen Datenmodellierung aus :-)
Korrigiere diese - und das Problem erledigt sich von selbst.

Nun möchte ich das Produkt (egal ob es sich um einen Laptop oder PC etc. handelt) mit dem höchsten Preis ermitteln.

Grundsätzlich kann ich ja mit max(Preis) den höchsten Preis aus der jeweiligen Tabelle abfragen und damit auch das zugehörige Produkt. Aber wie komme ich zu dem Produkt mit dem höchsten Preis aus allen Tabellen? Ich kann ja kein max(Preis) auf eine Ergebnisrelation mit den maximalen Preisen aller Produktgruppen anwenden, irgendwie komme ich da auf keine durchführbare Idee.

UNION (ALL) hilft Dir weiter.

Die Details sind möglicherweise mal wieder ein Fall für die beliebten
korrelierten Subselects, siehe dieses Archivposting von mir.

Freundliche Grüße

Vinzenz