数据库:MS SQL 2008SQL选择返回默认值如果空
SELECT Listing.Title, Listing.MLS, Pictures.PictureTH, Pictures.Picture, Listing.ID
FROM Listing INNER JOIN Pictures ON Listing.ID = Pictures.ListingID
WHERE (Pictures.ID = (SELECT MIN(ID) FROM Pictures WHERE (ListingID = Listing.ID)))
的问题是,我有几个“房源”没有图片,因为这个SQL脚本,他们不露面。我如何让他们出现?
也许给Pictures.Picture列的值为“default.jpg”,如果该值为空?我对此很迷茫,所以如果有人能帮上忙,那会很棒。对不起,如果我问的问题不好,我不明白如何真正问我需要做什么。但要求更多细节,我会发布它们。
每个列表可以有多个用户想要的图片,即使它没有图片,我也需要该脚本来显示列表。
PHASE 2
谢谢大家。到目前为止,我正在学习一些我从来不知道存在的新命令。现在的问题是它为列表中的每张图片返回一行。但是默认的图像效果很好。
SELECT Listing.Title, Listing.MLS, coalesce(Pictures.PictureTH, '../default_th.jpg') as PictureTH, coalesce(Pictures.Picture, '../default.jpg') as Picture, Listing.ID FROM Listing LEFT
OUTER JOIN Pictures ON Listing.ID = Pictures.ListingID
我该如何得到它,因此每个ListingID只返回1行?
您是否尝试使用原始查询的WHERE部分? – 2010-10-07 23:00:20
我有,它不起作用。如果有人想尝试一些自己的陈述,我会发布服务器信息?我将创建一个新的虚拟数据库。 – Landmine 2010-10-07 23:10:54