Posts
289
Comments
88
Trackbacks
4
Fun mit SQL

Beim Erstellen eine Selects hatte ich vorhin festgestellt, dass die WHERE-Bedingung NOT IN () nicht sicher funktioniert, wenn das Ergebnis des Select in der Klammer auch NULL-Werte enthält.

Der erste Select liefert kein Ergebnis (obwohl es eines liefern müsste):

SELECT * FROM Locator WHERE
AKTIVBIS>=GETDATE()
 AND GUID NOT IN (SELECT LocatorGuid FROM DevProjectLocation)

Wird der Subselect in der Klammer nun auf Werte eingeschränkt, die nicht NULL sind (WHERE LocatorGuid IS NOT NULL) dann liefert der gesamte Select das gewünschte und tatsächliche Ergebnis:

SELECT * FROM Locator WHERE
AKTIVBIS>=GETDATE()
 AND GUID NOT IN (SELECT LocatorGuid FROM DevProjectLocation WHERE LocatorGuid IS NOT NULL)

posted on Tuesday, September 23, 2008 12:13 PM Print
Comments
Gravatar
# re: Fun mit SQL
JakeJBlues
11/2/2008 12:40 AM
Nach Spec von SQL liefern beide Statements das tatsächliche, richtige abgefragte Ergebnis ;-)

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 4 and 4 and type the answer here: