我有两个表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中进行。有什么想法要做这样的事情
您需要调整语法删除 from
子句,在加入part part
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
DEMO