我正在使用C#和SQL Server.
看看下面的SQL:
SELECT table1.id, table1.description, table2.name, table2.surname
FROM table1
INNER JOIN table2 ON table1.EmpID = table2.EmpID
它很直接,工作正常.它正好从table1表中检索数据,并且正确地将table1.empid连接到table2.name和table2.surname.
现在,有时table1.empid为null,当它出现时,这个SQL只会忽略带有null值的“row”;根据标准,这很正常.
我需要的是获取带有空值的“行”,当table1.empid为null时,我需要为table2.name和table2.surname设置一个自定义值.
我一直在玩isnull(),但我所做的就是让它变得更糟.
有什么建议?
谢谢
解决方法:
你需要做一个LEFT JOIN:
SELECT table1.id, table1.description, table2.name, table2.surname FROM table1
LEFT JOIN table2 ON table1.EmpID = table2.EmpID;