我有4个表-公司,项目,工人,任务每家公司都有几个项目,每个项目都有几个工人,每个worker有几个任务。
在任务表中,有一个"estimated_cost"字段。我想查看所有公司的列表,但是我希望它按照任务的estimated_cost排序,其中的estimated_cost最高。
任何想法?
我使用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