gpt4 book ai didi

MySQL-将其他表中的列插入到一个表中

转载 作者:行者123 更新时间:2023-11-29 13:31:20 24 4
gpt4 key购买 nike

我需要将两个不同表中的两列复制到新表中:

t1: col1  col2       t2: col3  col4
a1 b1 c1 d1
a2 b2 c2 d2
c3 d3

我需要得到这个:

t3: col1  col4
a1 d1
a2 d2
null d3

我使用了查询:

INSERT INTO t3 (col1,col4) SELECT t1.col1, t2.col4 FROM t1,t2

但我得到了这个:

t3: col1  col4
a1 d1
a2 d1
a1 d2
a2 d2
a1 d3
a2 d3

有人可以帮忙吗?我应该使用其他查询吗? Tnx!

最佳答案

您正在使用CROSS JOIN,或笛卡尔乘积。这意味着左表中的所有行将匹配右表中的所有行。发生这种情况是因为您没有告诉 MySQL 表行应如何匹配。

您需要添加 JOIN 关键字并指定 ON 子句,该子句指定匹配规则 - 哪些值必须相等。例如:

SELECT a.col1, b.col4 FROM t1 a INNER JOIN t2 b ON a.id_t2 = b.id;

关于MySQL-将其他表中的列插入到一个表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19421814/

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