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)
在这种情况下,您必须使用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)