小编Bhu*_*ngh的帖子

SQL Server:IF EXISTS; 其他

我有一张桌子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不存在!请教育!提前致谢

sql sql-server if-statement exists

57
推荐指数
2
解决办法
56万
查看次数

标签 统计

exists ×1

if-statement ×1

sql ×1

sql-server ×1