gottlieb: GROUP BY und ORDER BY Zusammenspiel

Beitrag lesen

:-)

nein, zum einen ist NULL <> 0 und zum anderen bedeutet ISNULL: gebe den wert aus, den du hast, es sei den, du hast einen NULL wert, dann ersetze diesen mit einem anderen wert, in deinem falle mit gebot. deine aliasnamen der tabellen A und B sind zimelich durcheinander gewürfelt, aber es sollte das gebot aus der oberen abfrage sein.

Danke für die ausführliche Erklärung. Sowas wäre dann auch möglich:
Gebe den Wert aus, den du hast, es sei den, du hast einen NULL wert, dann fülle die Felder mit Null.

Die Tabellen sehen in etwa so aus:

Verkaufstabelle:
verkaufid verkaufstext

Verkaufgebote:
verkaufsid gebot bieterID (Gebot ist das abgegegebene Gebot und Bieterid, der, der das Gebot abgegeben hat) D.h., dann würde das folgende ja nicht gehen:

AND b.gebot = ISNULL((hier_unterabfrage), b.gebot)

Gebe den Wert aus >>hier_unterabfrage (Select max b.gebot)<< den du hast, es sei denn, du hast einen Null wert (ja wir haben einen Null Wert, da kein Gebot vorhanden), dann fülle die Felder mit b.gebot (b.Gebot ist ja auch nicht da, da kein Gebot vorliegt)

Deshalb ging das nicht. Wie gesagt mit OR NOT EXISTS tut das ganze aber korrekt.

gruß