1

ColumnfieldidEmpId和的串联Reason。有时,由于代码逻辑编写不当,可能会发生连接不正确的情况,并且它使用了EmpId与当前记录不同的连接。

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

我已经尝试过了,但不必停留,它很愚蠢。

SELECT * FROM Table WHERE fieldid IN (SELECT Empid + Reason FROM EmployeeAttendance)

我正在使用 SQL SERVER 2008. EmpidReason并且fieldid是 varchars。

谢谢。

4

1 回答 1

2

对于 SQL 服务器:

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 ;
于 2012-11-29T14:54:30.867 回答