where子句中的case语句,不应仅检查特定值

时间:2016-08-12 06:30:18

标签: sql-server database sql-server-2008 sql-server-2005

我需要在where子句中使用CASE语句:

假设我们有两张表X和Y

X有3列,即EmpId,Name,JoinDate,DeptID

Y有4列,即EmpId,JoinDate,DeptID,DeptRefCd

我得到的结果是除了(1,2,3)中的X.deptId之外它不应该检查X.JoinDate = ISNULL(Y.JoinDate,'' ).ie,它必须忽略JoinDate 条件deptId = 1,2,3

我写的如下,但显示错误:

 CASE 
    WHEN X.deptId NOT IN (1,2,3)  THEN X.JoinDate=ISNULL(Y.JoinDate,'')
 END

请建议。

0 个答案:

没有答案