gpt4 book ai didi

mysql - 在 mySQL 中,您可以使用现有表中的字段更新新创建的表吗?

转载 作者:行者123 更新时间:2023-11-29 00:57:34 25 4
gpt4 key购买 nike

我是 mySQL 的新手,希望对我正在运行的查询有所帮助。我想用现有表中的字段更新新创建的表。这是我正在使用的。

UPDATE NEW_TABLE new, OLD_TABLE_1 one, OLD_TABLE_2 two, OLD_TABLE_3 three
SET
new.COLUMN_1 = one.COLUMN_1,
new.COLUMN_2 = one.COLUMN_2,
new.COLUMN_3 = one.COLUMN_3,
new.COLUMN_4 = two.COLUMN_1,
new.COLUMN_5 = two.COLUMN_2,
new.COLUMN_6 = three.COLUMN_1,
new.COLUMN_7 = three.COLUMN_2
WHERE
three.COLUMN_1 = two.COLUMN_1 AND
three.COLUMN_2 = one.COLUMN_1;

我的数据都是人力资源数据。 OLD_TABLE_1为地址信息,OLD_TABLE_2为医疗信息,OLD_TABLE_3为原始HR数据。在 where 子句中,three.COLUMN_1 与 two.COLUMN_1 有关系。假设 three.COLUMN_1 是用户的 ID,它映射到 two.COLUMN_1 中的用户 ID。还想象一下,三个。COLUMN_2 是一个用户的家庭电话号码,它映射到一个用户的家庭电话号码。COLUMN_1。当数据输入到新表中时,我只需要一个唯一个体的数据。创建新表的原因是为了优化报告。从三个表中提取数据非常耗时。我有超过 150GB 的大表。如果我可以将我需要的数据加载到临时表中,查询将运行得更快。

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

如果这是一个全新的表,您需要INSERT 而不是UPDATE

INSERT INTO NEW_TABLE
(COLUMN_1, COLUMN_2, COLUMN_3, COLUMN_4, COLUMN_5, COLUMN_6, COLUMN_7)
SELECT one.COLUMN_1, one.COLUMN_2, one.COLUMN_3, two.COLUMN_1, two.COLUMN_2, three.COLUMN_1, three.COLUMN_2
FROM OLD_TABLE_1 one
INNER JOIN OLD_TABLE_3 three
ON one.COLUMN_1 = three.COLUMN_2
INNER JOIN OLD_TABLE_2 two
ON three.COLUMN_1 = two.COLUMN_1

关于mysql - 在 mySQL 中,您可以使用现有表中的字段更新新创建的表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5261616/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com