Ilja: GROUP BY und ORDER BY Zusammenspiel

Beitrag lesen

yo,

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?

tut es auch nicht, zum einen habe ich mich mit A2.verkaufid verschrieben, es muss natürlich B2.verkaufsid sein und zum anderen hast du recht, NULL wird nicht mit gleichheit (=) geprüft und insofern muss es fehl schlagen. das habe ich in meinen eifer nicht bedacht. NULL = NULL wird immer falls ergeben, es muss mit IS NULL geprüft werden und dafür brauchst du dann auch keine unterabfrage, da wir ja sowieso vorher einen LEFT JOIN auf die gebote machen. da hatte ich doch einen dicken knoten im kopf. das OR muss sein, du kannst es aber ohne unterabfrage mit "OR b.gebot IS NULL" prüfen.

eine andere option ist die verwendung vpn UNION ALL, also zwei abfragen, die mit dem mengenoperator verbunden werde.

Ilja