gpt4 book ai didi

sql - 合并两个 SQL 表

转载 作者:行者123 更新时间:2023-12-02 22:35:40 24 4
gpt4 key购买 nike

加入两个表并通过比较 Col1 和 Col11 我猜得到 Table1 中缺少的第一个表数据和第二个表数据。由于所有 ID(Col1 和 Col11)都应该放在一起

表1

Col1      Col2            Col3                  Col4      Col5            Col6 
1345653 330760137950 2012-07-09 21:40:29 1345653 331760137950 1341895229
1345653 110909316904 2012-07-09 21:29:06 1345653 111909316904 1341894546
1345653 221065796761 2012-07-09 19:31:48 1345653 221065796761 1341887518

表2

Col11        Col22         Col33                  
1345653 330760137950 2012-07-09 21:40:29
1345653 110909316904 2012-07-09 21:29:06
1345653 221065796761 2012-07-09 19:31:48
1345653 **150851771618** 2012-07-09 18:57:33

如果您查看上面两个表的数据,Table2 中的最后一行意味着 Table1 中缺少 Col22-150851771618。所以我需要显示 Table1 的完整数据和 Table2 的最后一行,因为 Table1 中缺少 Col22 通过加入 Col1Col11,就像下面这样的输出。

1345653   330760137950    2012-07-09 21:40:29   1345653   331760137950    1341895229
1345653 110909316904 2012-07-09 21:29:06 1345653 111909316904 1341894546
1345653 221065796761 2012-07-09 19:31:48 1345653 221065796761 1341887518
1345653 **150851771618** 2012-07-09 18:57:33 NULL NULL NULL

我如何使用 JOIN 通过加入 Col1Col11 来做到这一点?我对此很困惑。谁能帮帮我?

更新:- 更多场景

表1

Col1            Col2            Col3                   Col4       Col5                Col6
1345653 330760137950 2012-07-09 21:40:29 1345653 331760137950 1341895229
1345653 110909316904 2012-07-09 21:29:06 1345653 111909316904 1341894546
1345653 221065796761 2012-07-09 19:31:48 1345653 221065796761 1341887518

704318001 320941581940 2012-07-09 14:44:48 704318001 321941581940 1341870288

表2

Col11        Col22         Col33                   Col44   Col55   Col66
1345653 330760137950 2012-07-09 21:40:29 NULL NULL NULL
1345653 110909316904 2012-07-09 21:29:06 NULL NULL NULL
1345653 221065796761 2012-07-09 19:31:48 NULL NULL NULL
1345653 **150851771618** 2012-07-09 18:57:33 NULL NULL NULL

704318001 **290738585064** 2012-07-09 14:36:49 NULL NULL NULL

所以输出应该是这样的 - 对于这个 1345653 ID,我需要所有记录都在同一个地方并且与 704318001 相同。因此,如果您查看输出,所有 1345653 都在一起,所有 704318001 都在一起。

1345653   330760137950    2012-07-09 21:40:29   1345653   331760137950    1341895229
1345653 110909316904 2012-07-09 21:29:06 1345653 111909316904 1341894546
1345653 221065796761 2012-07-09 19:31:48 1345653 221065796761 1341887518
1345653 **150851771618** 2012-07-09 18:57:33 NULL NULL NULL


704318001 320941581940 2012-07-09 14:44:48 704318001 321941581940 1341870288
704318001 **290738585064** 2012-07-09 14:36:49 NULL NULL NULL

基本上,获取第一个表的完整数据和第二个表的数据不在 Table1 中

最佳答案

A LEFT JOIN应该工作..

但根据您的数据,我认为您应该加入 Col22Col2,因为 Col1Col11 没有唯一值,所以我不知道它们是如何关联的。

SELECT t2.Col11, t2.Col22, t2.Col33, t1.Col4, t1.Col5, t1.Col6
FROM
Table2 t2 LEFT JOIN
Table1 t1 ON t1.Col2 = t2.Col22

关于sql - 合并两个 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11479205/

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