我有一个表格A:
ID value
1 100
2 101
2 444
3 501
还有 TableB
ID Code
1
2
现在我想在表B中的列code中填充值,如果表A中存在ID=2,则填充最大值。对于多个值,获得最大值。否则,用'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
我确信在BEGIN;END或IF EXIST;ELSE这方面存在问题。基本上,如果IF部分的选择语句存在,则要绕过else部分,反之亦然。例如,如果IF部分的选择语句为:
(select MAX(value) from #A where id = 4)
应该只填充123,因为ID = 4不存在!