Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.155 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Bekomme Inner Joins nicht hin

  Alt 18. Dez 2018, 18:14
vielleicht so
Danke, aber dann sagt er
Zitat:
SQL-Fehler [8120] [S0001]: Die Item.rev-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist.

MS-SQL ist schon seltsam. Ich denke es jetzt mit einer völlig anders formulierten Query hinbekommen zu haben:

Code:
SELECT * FROM Auftrag JOIN Auftrag_Rev
ON (Auftrag.rev = Auftrag_Rev.id)
WHERE Auftrag.rev in (
   SELECT MAX(rev) rev FROM Auftrag JOIN Auftrag_Rev ON (Auftrag.rev = Auftrag_Rev.id)
   GROUP BY Auftrag.id
   )
;
In SQLite funktioniert das umgekehrt auch. Ist das jetzt geschickt oder eine Performance-Katastrophe? Und was MS-SQL eigentlich für ein Problem mit dem ersten Statement das in SQLite so gut geht?

Irgendwie weiß ich weshalb ich Kontakt mit relationalen Datenbanken so gut wie möglich vermeide...


Update

PS: Bin eher ein alter Knacker, deshalb nehme ich lieber die (für mich) leichter lesbare alte Form für Joins.
Danke, das scheint auch zu gehen. Und ist wirklich sehr gut lesbar! Und geht auch in SQLite.

Vielen Dank!

Geändert von Der schöne Günther (18. Dez 2018 um 18:19 Uhr)
  Mit Zitat antworten Zitat