gpt4 book ai didi

MySQL 在一个列上连接 3 个表,保留其所有不同的值

转载 作者:行者123 更新时间:2023-11-29 11:21:19 26 4
gpt4 key购买 nike

我想加入 3 个表:表 A:日期,本田计数(整数)表 B:日期、丰田计数(整数)表 C:日期、CountOfMazda(整数)我希望结果表为:日期、CountOfHonda、CountOfToyota、CountOfMazda

所有日期可能并不出现在所有 3 个表中。从某种意义上说,我想合并这些表,而不消除或重复最终表中的任何日期值。如果表中缺少日期,则相应计数列的值可以为 null/0。谢谢!

最佳答案

使用全外连接模拟

基本上你这样做:

SELECT * FROM tableA
LEFT JOIN tableB ON tableA.Date = tableB.Date
UNION
SELECT * FROM tableA
RIGHT JOIN tableB ON tableA.Date = tableB.Date
UNION
SELECT * FROM tableA
LEFT JOIN tableC ON tableA.Date = tableC.Date
UNION
SELECT * FROM tableA
RIGHT JOIN tableC ON tableA.Date = tableC.Date

不必担心其他表中不存在的日期。这就是“外部”连接的用途。它仍然会保留这些行。

编辑:忘记了 mysql 没有完整的外连接。但这应该可以解决您的查询。

关于MySQL 在一个列上连接 3 个表,保留其所有不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38865252/

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