ich habe jetzt den count in eine unterabfrage reingepackt:
SELECT
A.verkaufid,
A.verkaufstext,
B.gebot,
B.bieterID,
C.mitgliedsName,
(SELECT count(*) FROM Verkaufsgebote AS B WHERE A.verkaufid=B.verkaufid)
FROM Verkaufsartikel AS A LEFT JOIN
(Verkaufsgebote AS B INNER JOIN User AS C ON B.bieterID=C.mitgliedID)
ON A.verkaufid=B.verkaufid
WHERE A.datum>now()
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)
)
ORDER BY A.datum
Und das ganze funktioniert, sieht nur einwneig heftig aus die Query finde ich. Ich habe nun 4 SELECTS und habe 3 Tabellen miteinander verbunden.
Wäre ich da nicht besser dran von der Perfomance her betrachtet, wenn ich zwei getrennte Querys mache??
Was ich noch prüfen könnte, ob der Mitgliedstatus C.status auf 1 gesetzt ist. Sprich, das Mitglied noch registriert. Dann wird die Query noch größer, dies müsste ich dann beim count in der Unterabfrage machen und bei Select Max.