Hay,
Die Variante kannte ich noch nicht.
Jetzt erhalte ich alle Verkaufsartikel mit irgendeinem willkürlichen Gebot und nicht das Höchstgebot, da ich ja gruppiert habe. Ich hätte das ganze mit ORDER BY sortiert, ganz oben das Höchstgebot und dann sollte er es nach oben gruppieren.
Worauf du ja mehr oder weniger bereits hingewiesen wurdest.
Was du brauchst, sind korrelierte/korrelierende Unterabfragen im Zusammenspiel mit Aggregatsfunktionen wie Max(Gebot).
Etwas anderes Nebenbei. Anstatt Left Join habe ich mal mich einwenig in Sub-Selects eingelesen und habe folgende Fehlermeldung:
Operand should contain 1 column(s)Kann man im Sub-Select nur ein Feld auslesen oder auch gleich mehere?
So wie du es verwendest: Ja.
Du kannst Sub-Queries aber auch
a) hinter FROM oder
b) in einer WHERE Klausel
verwenden.
select a.feld1, a.feld2, (select b.feld3, b.feld4, c.feld5 from tabelle b INNER JOIN tabelle c where b.feld1=c.feld1) from tabelle a where a.field>0;
Muss ich da noch nen Zusammenhang zwischen Sub-Select und tabelle a herschaffen?
Keine Ahnung, ob du musst. Aber so, wie du gerade denkst, geht es nicht. Warum JOINST du nicht einfach auch Tabelle B und C einfach zu A dazu
SELECT A.feld1, A.feld2, B.feld3 .... <undsoweiter />
FROM tabelleA A
INNER JOIN tabelleB B ON ... <bedingung />...
INNER JOIN tabelleB C ON ... <bedingung />...
WHERE A.field > 0
??
Ciao, Frank