我有两个表t1和t2
T1->
id line Amt
----------- ----------- -----------
1 1 0
1 2 0
2 1 0
2 2 0
2 3 0
3 3 0
3 4 0
3 5 0
4 2 0
4 3 0
--------------------------
T2->
id amt
----------- -----------
1 500
2 350
3 750
4 400
在这种情况下,我需要从t2更新t1。但我需要在最小行上为每个id更新一行。我可以使用以下查询在MSSQL中完成 -
update a set a.amt=c.amt from T1 a inner join (
select id,min(line) line from T1 group by Id) b
on a.id=b.id and a.line=b.line
Inner join T2 c on a.id=c.Id
我想在MYSQL中这样做。有什么想法做这样的事情
答案 0 :(得分:0)
您需要调整语法remove from
子句,在连接部分后移动set
子句
update T1 a
inner join (
select id,min(line) line from T1 group by Id
) b on a.id=b.id and a.line=b.line
inner join T2 c on a.id=c.Id
set a.amt=c.amt