如何在同一个表中选择一列是两列的串联?

时间:2012-11-29 13:43:37

标签: sql-server sql-server-2008 subquery

fieldidEmpIdReason的串联。有时,由于代码逻辑编写不正确,连接不会正确发生,并且使用与属于当前记录的EmpId不同的SELECT * FROM Table WHERE fieldid IN (SELECT Empid + Reason FROM EmployeeAttendance)

如何找出这些错误的记录?

我试过这个,但不用留下来,这是愚蠢的。

Empid

我正在使用SQL SERVER 2008. Reasonfieldid和{{1}}是varchars。

感谢。

1 个答案:

答案 0 :(得分:2)

对于SQL-server:

SELECT * 
FROM TableX 
WHERE fieldid <> Empid + Reason 
   OR fieldid IS NULL     AND (Empid + Reason) IS NOT NULL
   OR fieldid IS NOT NULL AND (Empid + Reason) IS NULL ;