0

私は4つのテーブルを持っています - 会社、プロジェクト、労働者、タスク 各会社にはいくつかのプロジェクトがあり、各プロジェクトには複数の労働者がいて、各労働者にはいくつかのタスクがあります。

タスク テーブルには、「estimated_cost」フィールドがあります。すべての会社のリストを表示したいのですが、その中で最も高い Estimated_cost を持つタスクの Estimated_cost でソートしたいと考えています。

何か案は?

4

1 に答える 1

1

MySQLではなくMSSQLを使用しているため、構文が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
于 2013-03-03T13:09:36.567 に答える