gpt4 book ai didi

Mysql条件查询列出其中一个表中的一列但不是两个

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

我们有两个表

表:publisher(publisher_id 是唯一的)

+--------------+------+--+
| publisher_id | name | |
+--------------+------+--+
| 100 | abc | |
| 131 | def | |
| 355 | ghi | |
+--------------+------+--+

表:publisher_alias(publisher_idname的复合索引是唯一的)

+--------------+-------+--+
| publisher_id | name | |
+--------------+-------+--+
| 131 | xyz | |
| 131 | pqr | |
| 355 | mln | |
| 355 | opr | |
+--------------+-------+--+

我正在寻找一个 mysql 命令,它将从 publisher 表中生成一个名称列表(如果没有找到别名条目)。如果找到给定 publisher_id 的别名条目,那么我希望 publisher_alias 中的所有 name 都包含在列表中(name 来自 publisher 应该省略)。输出应该是这样的

+--+------+--+
| | name | |
+--+------+--+
| | abc | |
| | xyz | |
| | pqr | |
| | mln | |
| | opr | |
+--+------+--+

最佳答案

您可以使用 case when 子句

select case  when b.name is null then a.name else b.name end
from publisher as a
left join publisher_alias as b on a.publisher_id = b.publisher_id

关于Mysql条件查询列出其中一个表中的一列但不是两个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40031031/

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