gpt4 book ai didi

mysql - 如何在左连接表中应用CASE

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

我有一个 MySQL 查询,需要左连接两次。有四个表A、B、C、D,有两种可能,如果A.label为null那么,

select ... from A
left join B on B.name=A.name
left join D on B.bid=D.id;

否则,如果 A.label 不为 null,则我有

select ... from A
left join C on C.name=A.name
left join D on C.cid=D.id;

如果我想通过 CASE 条件将这两个查询合并为一个,我该怎么办?

最佳答案

不完全确定我遵循您的要求,但您可以添加到您的 JOIN 标准,然后使用 COALESCE():

select COALESCE(b.name,c.name) Name
....
from A
left join B
on B.name=A.name
AND A.label IS NULL
left join D
on B.bid=D.id
left join C
on C.name=A.name
AND A.label IS NOT NULL
left join E
on C.cid=E.id

关于mysql - 如何在左连接表中应用CASE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22513612/

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