我有4张桌子 - 公司,项目,工人,任务 每个公司都有几个项目, 每个项目都有几个工人, 每个工人都有几项任务。
在任务表中,有一个“estimated_cost”字段。我想查看所有公司的列表,但我希望它按任务的estimated_cost排序,其中包含最高的estimated_cost。
有什么想法吗?
答案 0 :(得分:1)
我使用的是MSSQL而不是MySQL,因此语法可能不是100%......但试试这个。
SELECT company.name, MAX(estimated_cost) AS HighestCost
FROM companies
INNER JOIN projects ON projects.companyid = projects.id
INNER JOIN workers ON workers.projectid = workers.id
INNER JOIN tasks ON tasks.workerid = tasks.id
GROUP BY company.name
ORDER BY HighestCost DESC