gpt4 book ai didi

mysql - 完全外连接 mySQL - 缺少行

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

我试图通过使用左连接并将其与右连接联合来模拟 mySQL 中的完整外部连接。

SELECT * FROM auxview_candiNotes AS a
LEFT JOIN auxview_clientNotes AS b ON a.dateAdded = b.dateAdded
UNION
SELECT * FROM auxview_candiNotes AS a
RIGHT JOIN auxview_clientNotes AS b ON a.dateAdded = b.dateAdded

我这样做的原因是因为我要连接两个表,有时其中一个表在特定日期没有值(因此该日期未在表中列出)。但是,连接的表应显示两个表中的一个或两个中出现的所有日期。如果其中一个表不包含特定日期的值,则应返回 NULL。

但是,auxview_clientNotes 表中的某些日期未在连接表中列出。

提前致谢!

最佳答案

此方法并不完全是完整的外部联接,因为union 会删除重复项。当基础表有重复项时,可能会生成重复项。通常重复删除被认为是一种“好”想法,但该方法并不完全等同于完全外连接

我更喜欢左连接方法:

select candi.*, client.*
from (select dateAdded from auxview_candiNotes union -- intentionally not `union all`
select dateAdded from auxview_clientNotes
) d left join
auxview_candiNotes candi
on candi.dateAdded = d.dateAdded left join
auxview_clientNotes client
on client.dateAdded = d.dateAdded;

关于mysql - 完全外连接 mySQL - 缺少行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34579015/

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