gpt4 book ai didi

如果未找到值,则 sql join 返回 null

转载 作者:行者123 更新时间:2023-12-04 05:20:28 25 4
gpt4 key购买 nike

我有国家、度假村和度假村照片的表格。每张照片都可以标记为相册的标题。我只想选择带有国家 ID 和名称、度假村 ID 和名称以及照片的连接数据集,前提是它标记为标题,否则 - 为空。

我尝试执行以下操作:

select
s.id as c_id,
s.name as c_name,
t.id as r_id,
t.name as r_name,
p.thumbnail as image,
p.description as desc,
p.is_title
from dbo.countries s
join dbo.resorts t on t.state=s.inc
left outer join dbo.resorts_photo p on p.resort_id=t.inc
where s.inc=@country_id

我有所有照片的 list - 有标题而不是没有。如果我通过 is_title 归档('and p.is_title=1')添加归档,所有没有标题照片的度假村都将从结果数据集中删除 - 这不是我想要的。

我只想得到类似的东西(见最后一行):
c_id c_name     r_id  r_name    image   desc  is_title
2 Australia 17 Adelaida 0xXXXX NULL 1
2 Australia 178 BB Rief 0xXXXX blah 1
2 Australia 160 Brum NULL NULL NULL

最佳答案

在您的 JOIN 条件而不是 WHERE 子句中包含额外的谓词,这样它们就不会导致整行被删除:

LEFT OUTER JOIN dbo.resorts_photo AS p
ON p.resort_id = t.inc
AND p.is_title = 1

关于如果未找到值,则 sql join 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9079261/

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