我有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

09-25 20:02