Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

T-SQL CASE-Klausel:Problem bei der Angabe von WHEN NULL mit einem Outer JOIN

Versuchen Sie es mit ISNULL

Ich bin mir ziemlich sicher, dass der Grund darin liegt, dass beim Vergleich von IS NULL mit NULL das Ergebnis NULL ist, also False, weshalb es mit ELSE 1 ausgewertet wird

SELECT c.customerID, o.OrderID, CASE When ISNULL(o.OrderID, 0) = 0 Then 0 Else 
1 End as YesNO
FROM Customers c
LEFT JOIN Orders o
 ON c.customerID = o.customerID