我有 4 个表 - 公司、项目、工人、任务每个公司有几个项目,每个项目有几个工人,每个工人有几个任务。
在任务表中,有一个“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