LeftJoin

Angins

Mitglied
Ich habe ein Problem mit folgender Abfrage:

SELECT Z1PERS.PRIMKEY, NAME, VORNAME, EINDAT, AUSDAT, BEGR, KURZZ, DAUER, VDAT
FROM Z1PERS
LEFT JOIN Z1ARBT
ON (Z1PERS.PRIMKEY = Z1ARBT.PRIMKEY)

Bei dieser Abfrage werden alle Datensätze von Z1PERS angezeigt, wie auch alle Z1ARBT die mit Z1PERS verknüft sind.
Nun möchte ich nur Datensätze anzeigen die bei EINDAT ein diesjähriges Datum haben, oder die im EINDAT NULL beinhalten. Dieses NULL ist ja durch den LEFT JOIN entstanden....

SELECT Z1PERS.PRIMKEY, NAME, VORNAME, EINDAT, AUSDAT, BEGR, KURZZ, DAUER, VDAT FROM Z1PERS
LEFT JOIN Z1ARBT
ON (Z1PERS.PRIMKEY = Z1ARBT.PRIMKEY)
WHERE (year(VDAT) = year( getDate()))
or VDAT = NULL

diese Abfrage funkioniert nicht, es zeigt mir einfach die Datensätze die im VDAT NULL beinhaltet nicht an. Auch wenn ich NULL in Hochkommas setze funkioniert es nicht, da dann der Error erscheint, das ein Datum nicht in ein String konvertiert werden kann.

Kann mir jemand helfen, wie ich trotzdem die Datensätze mit dem NULL auch anzeigen kann?

Vielen Dank für die Hilfe,

Gruss Angins
 
NULL ist kein Literal und auch keine Konstante

Es gibt Funktionen, die auf Nullwerte überprüfen (abhängig von deiner Datenbank -> Dokumentation anschauen)

Beispiele wären
- IS NULL
- ISNULL()
 
Zurück