gottlieb: GROUP BY und ORDER BY Zusammenspiel

Beitrag lesen

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

Ahja, oki, ich versuche da mal nach Beispiel zu googgeln, damit ich das verstehe. Werde ich schon irgendwie hinkriegen.

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.

Oki doki danke. Da werde ich ein paar Versuche starten :-))

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

Damit wollte ich eigentlich nur das Problem mit dem Group by entgehen, war aber nichts, im zweiten Select müsste ich dann sowieso wieder gruppieren, wenn ich noch ein count von den Geboten haben will.
Wenn ich alles in Tabelle A joine erhalte ich die Ausgabe wie im folgenden Link:

http://forum.de.selfhtml.org/?t=167424&m=1091935

Aber wie gesagt, den Tipp "korrelierte/korrelierende Unterabfragen im Zusammenspiel mit Aggregatsfunktionen wie Max(Gebot)." habe ich mir zu Herzen genommen :-)))