我有桌子:
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
contest_images可以包含来自一个用户的多个图像(预期)
我想检索所有用户添加的x最新版本。 (所以我可以限制用户一次只在比赛中有一张图片)
我还尝试制作一个显示{contestID,imageID,userID}的视图。
提前致谢
答案 0 :(得分: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
答案 1 :(得分: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
答案 2 :(得分: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(我真的被困在这个...... :()