我有 3 个表:用户、项目和文件。以下是相关列:
users: [userid](int)
projects: [userid](int) [projectid](int) [modified](datetime)
files: [userid](int) [projectid](int) [fileid](int) [filecreated](datetime)
我正在使用查询来列出所有项目,但我还想包含另一个表中的最新文件。我的方法是使用子查询来加入。
这是我想出的,但我的问题是它返回了最旧的文件:
SELECT * FROM projects
INNER JOIN users ON projects.userid = users.userid
JOIN (SELECT filename,projectid FROM files
GROUP BY files.projectid
ORDER BY filecreated DESC) AS f
ON projects.projectid = f.projectid
ORDER BY modified DESC
我认为 ORDER BY filecreated DESC 可以解决这个问题,但它似乎完全被忽略了。
我对SQL相当陌生,也许我没有以正确的方式接近这个?