У меня есть стол для сообщений, в котором есть подкатегория фотографий, поэтому у одного сообщения может быть много фотографий, один из столбцов таблицы фотографий - [Приоритет].SQL Server + Выбор записей с элементами подставок
мне нужно выбрать записи из почтовой таблицы только с фото, который имеет наивысший приоритет в другой таблице:
Так что результат должен быть как:
Photo Post
pic1 Article1
picX Article2
В настоящее время мои результаты показывают, как
Photo Post
pic1 Article1
pic2 Article1
picX Article2
с этим запросом:
SELECT [Photo],
[PostTitle]
FROM [Post] sp
INNER JOIN [PostPhotos] spp
ON (sp.AutoId = spp.PostId)
WHERE sp.[AutoId] IN (SELECT [PostID]
FROM [Favorites]
WHERE [UserId] = 'UserXXX')
Я попробовал присоединиться запрос без успеха:
SELECT photo,
[PostTitle],
[AskingPrice]
FROM (SELECT sp.[AutoId],
[PostTitle]
FROM [SellPost] sp
WHERE sp.[AutoId] IN (SELECT [PostID]
FROM [Favorites]
WHERE [UserId] = 'UserId'))a
full OUTER JOIN(SELECT TOP 1 [PostId],
[photo]
FROM [PostPhotos] spp
WHERE PostId IN (SELECT [PostID]
FROM [Favorites]
WHERE [UserId] = 'UserXXX')
ORDER BY [Priority] ASC)b
on (a.AutoId = b.PostId)
order by a.AutoId;
Мои таблицы:
Table Post
PostId, PostTitle
Table PostPhotos
AutoId, PostId, Photo, Priority --> 1 post can have many photos
Может кто-то пожалуйста, любезно помочь. Благодарю.