我有一个名为 t1 的表,其中包含一个 PRIMARY KEY ,我将称之为 ITEM_ID
表格如下:

ITEM_ID    VALUE1
2          2500
3          3500
5          5500

我还有几个像这样的表 t2t3:
ITEM_ID    VALUE2
2          250
3          350
4          450
5          550


ITEM_ID    VALUE3
2          25
3          35
4          45
5          55
6          65

我想获得这个(我加入只保留在 t1 中找到的行)
ITEM_ID    VALUE1    VALUE2    VALUE3
2          2500      250       25
3          3500      350       35
5          5500      550       55

我知道如何使用 JOINCREATE 一个新表来做到这一点。
但是是否可以仅通过 ALTERADDUPDATE 列来实现?

最佳答案

ALTER TABLE t1 ADD VALUE2 INT, ADD VALUE3 INT;

UPDATE t1 a
JOIN   t2 b ON a.ITEM_ID = b.ITEM_ID
JOIN   t3 c ON a.ITEM_ID = c.ITEM_ID
SET    a.VALUE2 = b.VALUE2,
       a.VALUE3 = c.VALUE3;

10-06 08:51