База данных: 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 они не отображаются.Как я могу заставить их отображаться?
Может быть, дать столбцу Pictures.Picture значение "default.jpg", если значение равно нулю?Я довольно потерян в этом, так что если кто-то может помочь, это было бы удивительно.Извините, если я тоже плохо задаю вопрос, я не понимаю, как на самом деле спросить, что мне нужно для этого сделать.Но попросите более подробную информацию, и я опубликую их.
В каждом листинге может быть столько изображений, сколько хочет пользователь, мне нужен этот скрипт для отображения листинга, даже если в нем нет изображения.
ФАЗА 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
Как его получить, чтобы оно возвращало только 1 строку на ListingID?