gpt4 book ai didi

mysql - 当前行为空时如何选择相关行?

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

我有一个这样的表:

// mytable
+----+---------+---------+
| id | name | related |
+----+---------+---------+
| 1 | Jack | 1 |
| 2 | | 1 |
| 3 | | 1 |
| 4 | | 2 |
| 5 | peter | 2 |
| 6 | peter | 2 |
| 7 | | 2 |
| 8 | jhon | 4 |
| 9 | | 3 |
| 19 | ali | 3 |
| 20 | | 4 |
| 21 | | 4 |
+----+---------+---------+

我所拥有的只是一个 ID 号,这是我的查询:

SELECT name FROM mytable WHERE id = :id LIMIT 1

在我的查询中,有时 name 为空。所以我尝试选择相关名称,我该怎么做?

这是一些示例:(加上预期输出)

:id = 1
+---------+
| Jack |
+---------+

:id = 2
+---------+
| Jack |
+---------+

:id = 21
+---------+
| jhon |
+---------+

:id = 6
+---------+
| peter |
+---------+

最佳答案

下面的查询适用于 id 1、2 和 6。我不确定如何使 id 21 等于 jhon。如果我加入 table 四次,我就会找到 jack 。我希望这会有所帮助。

SELECT (CASE WHEN A.name IS NULL THEN B.name ELSE A.name END) 
FROM mytable A LEFT JOIN mytable B ON (A.related=B.id)

关于mysql - 当前行为空时如何选择相关行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37259513/

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