我有一张桌子A:
ID value
1 100
2 101
2 444
3 501
Run Code Online (Sandbox Code Playgroud)
表B
ID Code
1
2
Run Code Online (Sandbox Code Playgroud)
现在,如果tableA中存在ID = 2,我想填充表B的col =代码.对于多个值,获取最大值.否则用'123'填充它.现在这是我使用的:
if exists (select MAX(value) from #A where id = 2)
BEGIN
update #B
set code = (select MAX(value) from #A where id = 2)
from #A
END
ELSE
update #B
set code = 123
from #B
Run Code Online (Sandbox Code Playgroud)
我确信在BEGIN; END或IF EXIST; ELSE中存在一些问题.基本上,如果IF部分中的select语句存在,我想绕过else部分,反之亦然.例如,如果IF = part的select语句是:
(select MAX(value) from #A where id = 4)
Run Code Online (Sandbox Code Playgroud)
它应该只填充123,因为ID = 4不存在!请教育!提前致谢