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