Не удалось объединить таблицы, чтобы получить желаемый результат - PullRequest
0 голосов
/ 02 июля 2018

У меня есть следующие 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   

Может кто-нибудь подсказать, как получить желаемый результат

1 Ответ

0 голосов
/ 02 июля 2018

Попробуйте этот запрос 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...