gpt4 book ai didi

使用case时mysql查询不返回所有结果

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

我正在尝试从两个表中获取数据。第一个表是子类别,第二个表是子类别图像。只有一个子类别有图像,其余子类别都没有图像。我进行了以下查询,以便没有图像的查询可以使用默认图像

select s.name,s.id,s.level,CASE WHEN g.photo_url IS NULL THEN 'no-image.png'  ELSE g.photo_url END AS photo_url  
from sub_category s,gallery g
where g.main_id=s.id and g.type_id='9' and s.category_id='1' and s.level='1'

但是它返回一行(有图像的那一行),其余的子类别甚至没有显示。它本来应该显示 7 个子类别,其中第一个带有图像,其余的则显示所有的默认图像画廊表中没有图像的人。

最佳答案

您需要使用左连接

还可以使用显式连接语法。

select s.name,s.id,s.level,
CASE WHEN g.photo_url IS NULL THEN 'no-image.png'
ELSE g.photo_url END
AS photo_url
from sub_category s
left join gallery g
on g.main_id=s.id
on g.type_id='9'
where s.category_id='2'
and s.level='1'

关于使用case时mysql查询不返回所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28017850/

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