2

我有桌子:

contest_images {contestID, imageID}
image {ID, userID}
user {ID}

(它们包含更多信息,但这就是我们所需要的)

到目前为止我的查询:

SELECT imageID, userID FROM contest_images
JOIN image ON contest_images.imageID = image.ID 
JOIN user ON user.ID = image.userID
ORDER BY contest_images.imageID  DESC

Competition_images 可以包含来自一个用户的多张图片(这是有意的)

我想检索所有用户添加的最新 x。(所以我可以限制用户一次只能在比赛中使用一张图片)

我还尝试制作一个显示 {contestID, imageID, userID} 的视图。

提前致谢

4

3 回答 3

3

像这样试试

SELECT MAX(imageID), userID FROM contest_images
JOIN image ON contest_images.imageID = image.ID 
JOIN user ON user.ID = image.userID
GROUP BY image.userID
于 2013-10-18T08:17:06.420 回答
2

要一次限制在比赛中的一张图像/最新图像,您可以使用 Top 运算符作为:

SELECT top 1 imageID, userID FROM contest_images
JOIN [image] ON contest_images.imageID = [image].ID 
JOIN [user] ON [user].ID = image.userID
ORDER BY contest_images.imageID  DESC 
于 2013-10-18T08:17:32.853 回答
1

非常感谢你们!:)

我和

SELECT contestID, MAX(imageID), userID FROM contest_images
JOIN image ON contest_images.imageID = image.ID 
JOIN user ON user.ID = image.userID
GROUP BY image.userID

因此,竞赛 ID 将在最后的 WHERE 子句中指定 :)

但是非常感谢你们两个:P(我真的被困在这个.. :()

于 2013-10-18T08:31:13.210 回答