gottlieb: Select Sum nur bei Maximalgebot

Beitrag lesen

Tach,

Naja, eBay kann man nicht an einem Tag nachprogrammieren ;)

:-))

Imho braucht er eine Query, welche ihm für jedes Angebot das maximale Gebot zurückgibt. Diese Query kann er in einem LEFT OUTER JOIN verwenden (muss ja nicht immer ein Gebot geben) und mittels AngebotId und dem Max-Wert aus der Unterabfrage verbinden. Es kann ja nur einen Max-Wert pro Angebot geben (sonst würde eBay auch nicht funzen). Die Anzahl der Gebote macht er dann einfach über eine korrelierte Unterabfrage, die genau einen Wert, nämlich COUNT(*) zurückgibt. In diese brauch er nur von aussen die ID des Angebotes reingeben.

Das hört sich jetzt gerade einwenig kompliziert an. Ich versuche das mal zu verstehen und umzusetzen.

Mit etwas mehr Normalisierung im Datenmodell sollte es deutschlicher sichtbar sein.

Wie könnte man das noch mehr normalisieren?

Es kommt 6 raus. Es müsste aber 7 herauskommen, da ich bei verkaufid 4 und 3 der Höchstbieter bin.

Weil 4 + 3 = 7 ist?

id  verkaufid  bieterID  gebot
2     2         3        2
3     2        123       1     <<<< Kein Höchstbieter
5     2        883       4
4     3        883       2
6     3        123       3      <<<< Hier bin ich Höchstbieter mit 3 Euro
7     4        123       6      <<<< Hier bin ich Höchstbieter mit 6 Euro

Sorry, das müsste dann 6+3 heißen :-)))