重複の可能性:
php、postgresql、mysql
クエリをフィルタリングして、次のような結果を生成したい:
sum of amount_to_be_paid
, contractor name
, sum of amount paid
.
ここで私の問題はテーブルマッピングにあります。二重の結果が生成されます bcoz contract_task のテーブルには、同じ請負業者で異なる worktypeid を持つ 2 つのエントリがあります。請負業者がさまざまなタスクに取り組んでいても、請負業者の単一の結果を取得する方法を教えてください.
クエリ:
select distinct contractors.name, cont.total,cp.amount_paid
FROM
(
select contractor_id,sum(amount_to_be_paid) as total
from contractor_tasks left join worktypeids as wt on worktypeid_id = wt.id where wt.project_id=2
group by contractor_id
)cont
left join
(
select project_id,contractor_id,sum(amount_paid) as amount_paid
from contractor_payments
group by contractor_id,project_id
)cp
on cont.contractor_id= cp.contractor_id
left join contractors on cont.contractor_id=contractors.id