So,
jetzt ist mir auch klar, was da mit den alias namen schief läuft. tip, niemals, aber auch nie den gleichen aliasnamen in einer abfrage zwei tabellen zu geben. du amchst das gleich merfach, dasss du tabellen in den unterrabfragen den gleichen aliasnamen gibts wie in der äußeren abfrage. ich sag mal pfui ;-)
:-)
ersetze mal folgendes:
AND
(
B.gebot=(SELECT MAX(B.gebot) FROM Verkaufsgebote AS A WHERE A.verkaufid=B.verkaufid)OR NOT EXISTS
(SELECT NULL FROM Verkaufsgebote AS B WHERE A.verkaufid=B.verkaufid)
)durch dieses hier:
AND B.gebot= IFNULL((SELECT MAX(B2.gebot) FROM Verkaufsgebote B2 WHERE A2.verkaufid=B.verkaufid), B.gebot)
Das bringt 0 Resultate. Die vorherige Query bringt korrekterweise 3 Resultate.
Ich checke auch ehrlich gesagt nicht, wie:
B.gebot= IFNULL((SELECT MAX(B2.gebot) FROM Verkaufsgebote B2 WHERE A2.verkaufid=B.verkaufid), B.gebot)
funktionieren soll?
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)