我有2张桌子。一个表是column1的所有可能唯一值的列表,其中包含2个其他数据列。
第二个表有3列,列值相同,但重复多次。
我有一个查询,可以将第2列和第3列从TableA复制到TableB,但它需要永远运行。这就是我所拥有的:
TableA column1 column2 column3 1 1 1 2 2 2 TableB column1 column2 column3 1 a b 2 c d 3 e f
update TableA
set column2 = (
select column2
from TableB
where TableA.column1 = TableB.column1
);
update TableA
set column3 = (
select column3
from TableB
where TableA.column1 = TableB.column1
);
我试图通过使用JOIN来实现,但实际上需要更长的时间......
有什么想法吗?
答案 0 :(得分:0)
您可以尝试使用INNER JOIN
查询
UPDATE tablea a
INNER JOIN tableb b
ON a.column1 = b.column1
SET b.column2 = a.column2,
b.column3 = a.column3
如果记录太多,则需要一些时间