gottlieb: GROUP BY und ORDER BY Zusammenspiel

Beitrag lesen

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.