【发布时间】:2011-04-22 15:05:42
【问题描述】:
数据库:MS SQL 2008
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 脚本,它们没有显示出来。我怎样才能让他们出现?
如果值为 null,也许给 Pictures.Picture 列一个值“default.jpg”?我对此很迷茫,所以如果有人可以提供帮助,那就太棒了。对不起,如果我问的问题也很糟糕,我不明白如何真正问我需要它做什么。但是请询问更多详细信息,我会发布它们。
每个Listing可以有用户想要的任意数量的图片,我需要这个脚本来显示一个Listing,即使它没有图片。
第 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部分? -
我有,但它不起作用。如果人们想尝试自己的一些陈述,我会发布服务器信息?我将创建一个新的虚拟数据库。
标签: sql sql-server select