Loo*_*ers 2 sql t-sql sql-server sql-server-2012
我有两个表,我在它们之间使用简单的连接条件.
我需要找到常用值并将String(Success)更新到列中.
input_table1:
ID || Name || output
1 || ABS || Null
2 || ADF || NULL
3 || AQS || Null
4 || ATF || NULL
5 || APS || Null
6 || AMF || NULL
Run Code Online (Sandbox Code Playgroud)
Input_table2:
ID || Name
1 || ABS
2 || ADF
6 || AMF
Run Code Online (Sandbox Code Playgroud)
Output_table:这是我需要的输出.
ID || Name || output
1 || ABS || Success
2 || ADF || Success
3 || AQS || Null
4 || ATF || NULL
5 || APS || Null
6 || AMF || Success.
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的查询,这是错误是接收 在预期条件的上下文中指定的非布尔类型的表达式,接近'Then'.
update .[dbo].[InputTable1]
set Output=
case when (
select INT.ID
from [dbo].[input_table1] INT
join [dbo].[input_table2] SHB
on INT.ID=SHB.ID
) Then 'Success' Else Null End
Run Code Online (Sandbox Code Playgroud)
你的查询应该只是
update INT
set Output= 'Success'
FROM
[dbo].[input_table1] INT
join [dbo].[input_table2] SHB
on INT.ID=SHB.ID
Run Code Online (Sandbox Code Playgroud)