Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Clausola T-SQL CASE:problema relativo alla specifica di QUANDO NULL con un JOIN esterno

Prova a usare ISNULL

Sono abbastanza sicuro che il motivo sia perché quando si confronta IS NULL con NULL il risultato è NULL, quindi False, quindi perché sta valutando il tuo ELSE 1

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