求 SQL
两张表 a , bcreate table a (
id char(12) not null,
classid int not null,
amt decimal(18,2),
constraint PK_A primary key ( id,classid)
)
create table b (
id char(12) not null,
classid int not null,
flag int not null,
constraint PK_B primary key ( id,classid,flag)
)
要求:
用一句 SQL语句,将 a 表中的amt 字段内容用 amt *-1 替换,条件是 a.id = b.id ,a.classid = b.classid , b.flag = 0
回复 #1 snow888 的帖子
merge into a using b on a.id = b.id and a.classid = b.classid and b.flag = 0 when matched then update set a.amt=a.amt*(-1) UPDATE a SET amt=amt+1WHERE EXISTS (SELECT 1 FROM b WHERE a.id=b.id AND a.classid=b.classid AND b.flag=0)
页:
[1]