Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法合并表以获得所需结果_Php_Mysql_Codeigniter_Join - Fatal编程技术网

Php 无法合并表以获得所需结果

Php 无法合并表以获得所需结果,php,mysql,codeigniter,join,Php,Mysql,Codeigniter,Join,我有以下三张桌子 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 jo

我有以下三张桌子

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,则


任何人都可以告诉我如何得到想要的结果吗

试试这个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

有没有一种方法可以代替写所有我可以使用的参数,我不知道其他的方法。你试过这个sql吗?它能工作吗?我用这个sqlWith查询问题得到了正确的结果。你能做的最好的事情就是建立一个自己尝试或者让其他人尝试得到你想要的结果。
Job_id  supplier_id  total_report
 1         1           3
 1         3           2