mysql如何更新另一个表中同一行的多个列

ctrmrzij  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(367)

我需要更新一个如下所示的表。

ItemID  FID1    FID2    FID3    FName1  FName2  FName3  
100084  2545    2536    2535

使用另一个表中的数据。另一个表如下所示:

FID    FName
2545   Name 1
2534   Name 3
2536   Name 2

我希望更新后的表如下所示:

ItemID  FID1    FID2    FID3    FName1  FName2  FName3  
100084  2545    2536    2535    Name 1  Name 2  Name 3

在单个查询中执行此操作的干净方法是什么?

628mspwn

628mspwn1#

我不会问您为什么要以非规范化的形式存储数据;-)-但这应该行得通:

update one_table t
left join other_table t1 on t1.FID = t.FID1
left join other_table t2 on t2.FID = t.FID2
left join other_table t3 on t3.FID = t.FID3
set t.FName1 = t1.Fname,
    t.FName2 = t2.Fname,
    t.FName3 = t3.Fname

相关问题