gpt4 book ai didi

MySQL 如果存在则选择,但如果不存在则显示 no 值

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

给出如下简单查询:

SELECT * from foo WHERE id IN (ids)

假设我传递的 id 1,2,3 和 id 12 存在,并且 3 确实存在不是。如何编写此查询,以便仍然显示 3 行,但 1 和 2 的值显示为“yes”,3 行的值显示为“no”?

我的查询只会返回 id 为 1 和 2 的记录的数据,但我希望它显示我传入的每个 id,但用简单的“否”表示不在表中的记录

最佳答案

您需要创建一个包含所有 ID 的关系,然后在 ID 上保留 join foo。在 CASE 中,您可以检查 foo 中的 ID 是否为 NULL,如果是,则输出 'no' , "is" 否则。

SELECT x.id,
CASE
WHEN f.id IS NULL THEN
'no'
ELSE
'yes'
END yesorno
FROM (SELECT 1 id
UNION ALL
SELECT 2 id
UNION ALL
SELECT 3 id) x
LEFT JOIN foo f
ON f.id = x.id;

关于MySQL 如果存在则选择,但如果不存在则显示 no 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53973648/

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