gpt4 book ai didi

mysql外连接在哪里

转载 作者:太空宇宙 更新时间:2023-11-03 12:11:30 24 4
gpt4 key购买 nike

我有一个数据库,其中用户必须有一个用户名,并且在另一个表上有一个可选的 contact_name,该名称由每个用户提供给他们。

例如:

user A might call user B 'FOO'

but user C calls user B 'BAR'

and user D might not have given user B a contact_name

so it should return NULL.

下面的查询可以让我获得所有的用户名和联系人姓名,即使是 NULL 也是我想要的结果。

SELECT Login.username, PhoneNumber.phone, AddressBook.contact_name FROM Login
LEFT OUTER JOIN PhoneNumber ON Login.id = PhoneNumber.user_id
LEFT OUTER JOIN AddressBook ON PhoneNumber.phone = AddressBook.phone

但是,我只想返回 WHERE AddressBook.user_id = 67,这将返回与用户 A 关联的用户名和联系人姓名。

目前,当我添加 WHERE AddressBook.user_id = 67 时,它不会返回任何具有 NULL 值的 contact_names,这是预期的,但我需要那些具有 NULL 且没有 NULL contact_names 的行。

我该怎么做?

谢谢

最佳答案

如何将 AddressBook.user_id = 67 添加到 JOIN:

SELECT l.username, p.phone, a.contact_name 
FROM Login l
LEFT OUTER JOIN PhoneNumber p ON l.id = p.user_id
LEFT OUTER JOIN AddressBook a ON p.phone = a.phone AND a.user_id = 67

关于mysql外连接在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24021389/

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