SQL SERVER 2005如果是的话

rah*_*kla 2 sql t-sql sql-server sql-server-2005

我正在运行以下查询.

SELECT T1.C1, T2.C2..., 
IF( T1.C1<>T2.C1,"Changed","1") AS NewColumn
From T1 INNER JOIN T2
Where condition..
Run Code Online (Sandbox Code Playgroud)

我收到IF语句的语法错误.

动机是比较两个不同表中的列,如果不相等,则在第三个表的NewColumn中保存为"已更改".这是一个Insert INTO query.

T-> Table
C->Column
Run Code Online (Sandbox Code Playgroud)

Max*_*erl 5

在这种情况下,您必须使用CASE WHEN.

SELECT     T1.C1, 
           T2.C2..., 
           CASE WHEN T1.C1<>T2.C1 THEN 'Changed' ELSE '1' END AS NewColumn 
FROM       T1 
INNER JOIN T2 
WHERE      condition
Run Code Online (Sandbox Code Playgroud)