gpt4 book ai didi

MySQL 子查询从另一个表中进行 SELECT

转载 作者:行者123 更新时间:2023-11-29 07:34:40 26 4
gpt4 key购买 nike

我想创建一个查询,如果特定字段的值不为 0,则从另一个表中查找值。像这样吗?

SELECT id, name, type, site_id
IF (site_id > 0)
THEN (SELECT id FROM setups WHERE setups.id = image.site_id) as site
ELSE "" as site
FROM image
ORDER BY image.id

只有在 site_id 的值不为 0 且基于 site_id 的值的情况下,有人可以帮我解决在中间执行 SELECT 的语法吗?如果 site_id = 0,我需要返回一个空字符串。

谢谢!

最佳答案

您可以使用相关子查询和 case 来完成此操作(我更喜欢使用 if 函数):

SELECT i.id, i.name, i.type, i.site_id,
(CASE WHEN i.site_id > 0
THEN (SELECT s.id FROM setups s WHERE s.id = i.site_id)
ELSE ''
END) as site
FROM image i
ORDER BY i.id

关于MySQL 子查询从另一个表中进行 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258469/

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