2017-03-06 2 views
-5

Im einfachen MS SQL-Abfrage iam nicht in der Lage zu geben ErgebnisseSQL UND abruft nicht oder nicht ordnungsgemäßes Ergebnis

SELECT * FROM tblActivityTracker 
WHERE (WoM IN (NULL, 2)) 
AND (DateName = DATENAME(weekday, GETDATE())) 

Pls

vorschlägt
+0

Beispieldaten Bitte zeigen und das erwartete Ergebnis und das Ergebnis, das Sie – Jens

+0

Sie bekommen verwenden 'null' mit' IN' Klausel nicht. – Wanderer

+0

Verwende 'WHERE (WoM IST NULL ODER WoM = 2)' –

Antwort

0

bekommen Sie nicht null mit IN Klausel verwenden können.

Abfrage

SELECT * FROM tblActivityTracker 
WHERE (WoM IN (2) OR Wom is null) -- or Wom = 2 instead of using IN 
AND (DateName = DATENAME(weekday, GETDATE())); 
+0

Über Abfrage holt Nur WoM ist Null nicht WoM ist 2 – user3926897

+0

@ user3926897: Ergebnis wird mit beiden Wom mit Null-Wert und 2 sein – Wanderer

+0

Ich frage mich, warum es nicht holen, wenn separat laufen, aber ich muss kombinieren – user3926897

0

Versuchen Sie, diese

SELECT * FROM tblActivityTracker 
WHERE (WoM =2 OR Wom IS NULL) 
AND (DateName = DATENAME(weekday, GETDATE())); 

Oder starten

SELECT * FROM tblActivityTracker 
WHERE (WoM in('NULL','2')) 
AND (DateName = DATENAME(weekday, GETDATE())); 
0

Das Beste, was Sie tun können, ist verwenden isnull

SELECT * FROM tblActivityTracker 
WHERE isnull(WoM,'') IN ('', '2') 
AND DateName = DATENAME(weekday, GETDATE()) 
0

Dank für Anregungen ...... Eigentlich half unter Abfrage

SELECT * FROM tblActivityTracker 
WHERE (WoM IN (2)) AND (DATENAME(weekday, GETDATE()) = DateName) OR 
    (WoM IS NULL) AND (DATENAME(weekday, GETDATE()) = DateName) 
Verwandte Themen