Здравствуйте. Есть задача, нужно получить количество записей по статусах,
а также можно было получать результат для одного пользователя, или несколько пользователей.
таблица:
Statusesid | customer_id | status_name |
1 | 1 | New |
2 | 1 | In progress |
3 | 1 | closed |
таблица:
Productsid | customer_id | user_id | status | modified |
1 | 1 | 1 | New | 2015-08-10 |
2 | 1 | 33 | New | 2015-08-25 |
3 | 1 | 54 | closed | 2015-09-01 |
Ожидаемый результатid | customer_id | status_name | count |
1 | 1 | New | 2 |
2 | 1 | In progress | 0 |
3 | 1 | closed | 1 |
Я написал такой запрос, но на выходе получаю count 0(во всех статусах) если указать несколько пользователей, для одного пользователя результат есть.
Может кто то подскажет что я сделал не так.
$usersArr= array(66,1,33,54);
SELECT s.status_name, count(p.status) as count from statuses as s
left join products as p ON (p.status = s.status_name p.modified BETWEEN "2015-08-10" AND "2015-09-10" and p.user_id = $usersArr)
where s.customer_id = 1
group by s.status_name