我有以下3张桌子
suppliers
id job_title
1 S1
2 S2
3 S3
6 S6
supplier_job
id supplier_id job_id
1 1 1
2 2 2
3 3 1
4 6 2
job_report
Id report supplier_id job_id
1 R1 1 1
2 R2 1 1
3 R3 1 1
4 R4 3 1
5 R5 3 1
6 R6 6 2
以下代码为我提供了针对特定工作的供应商列表
$this->db->select('*');
$this->db->where('job_id',$job_id);
$this->db->from('supplier_job');
$this->db->join('suppliers','supplier_job.supplier_id=suppliers.id','Right');
$query=$this->db->get();
$r = $query->result();
但是,我希望与该清单一起获得每个供应商针对该工作提交的报告总数,因此根据该结果,结果应该类似于
如果job_id = 1,那么
job_id supplier_id total_report
1 1 3
1 3 2
谁能告诉我如何获得期望的结果
答案 0 :(得分:0)
尝试此mysql查询。
SELECT
p.job_id,
p.supplier_id,
Count( p.report ) AS total_report
FROM
job_report p
WHERE
p.job_id = 1
GROUP BY
p.job_id,
p.supplier_id
输出:
Job_id supplier_id total_report
1 1 3
1 3 2