我有一张照片子表,所以一个职位可以有很多照片,其中一个照片表列是[优先]。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
有人可以请您帮助。谢谢。