Hallo Rolf,
Beispiel - keine Ahnung ob das bei Dir fachlich vorkommen kann. Ohne Kenntnis der Anwendung ist sein Vorkommen aber durchaus denkbar.
Berechtigter Einwand. Prinzipiell wäre das zwar unproblematisch, aber Du hast recht, sauberer wäre die Berücksichtigung eines solchen Falles.
Erstelldatum del 05.01.2022 0 05.01.2022 1 10.01.2022 1
Dein SELECT MAX(Erstelldatum) würde Dir den 10.01. liefern. Da zu diesem Datum aber alle Rows
del=1
haben, führt das dazu, dass Du nichts joinst.D.h. Du solltest die Abfrage
del = 0
auch in der Maximumbestimmung vorsehen. Sie nur dort zu machen wäre wieder inkorrekt, denn dann würdest Du zwar korrekt den 05.01. als MAX(Erstelldatum) bestimmen, dann aber auch die gelöschten Sätze hinzujoinen.
Hm, habe ich versucht, bekomme aber "den 05.01" (bei mir ist das Beispiel etwas anders) nicht angezeigt.
AND (((dg.Erstelldatum = (SELECT MAX(Erstelldatum)
FROM dgdgdg
WHERE MaschinenID = m.MaschinenID
AND dg.del = 0))) AND dg.del = 0)
WHERE ...
Wo habe ich den Fehler gemacht?
Jörg