MySQL SELECT QUERY один и тот же столбец, где операторы - PullRequest
0 голосов
/ 26 января 2019

В настоящее время у меня есть 2 таблицы. Название услуги 1 и информация об услуге.

Мне нужно получить все уникальные имена из названия службы и показать, сколько сервисной информации прикреплено к ней, например.

SELECT cs.serviceDesc as 'SERVICE', COUNT(cr.serviceId) as 'Count',
FROM consultationRequests cr
JOIN consultationServices cs on cs.serviceId = cr.serviceId 
JOIN demographic d on d.demographic_no = cr.demographicNo 
WHERE cs.active = 1  
AND cr.referalDate between '2018-11-31' and '2019-01-20' 
GROUP BY cr.serviceId 

Существует также еще один столбец в consultingRequests, который имеет номер состояния от 1 до 4. Мне нужно добавить в другой столбец для каждого статуса и подсчитать количество информации, которые находятся в этом статусе в названии службы.

1 Ответ

0 голосов
/ 26 января 2019

Вы можете использовать условное агрегирование:

SELECT cs.serviceDesc as SERVICE,
       COUNT(cr.serviceId) as Count,
       SUM(cr.consultationRequests = 1) as cnt_1,
       SUM(cr.consultationRequests = 2) as cnt_2,
       SUM(cr.consultationRequests = 3) as cnt_3,
       SUM(cr.consultationRequests = 4) as cnt_4
FROM consultationRequests cr JOIN
     consultationServices cs
     ON cs.serviceId = cr.serviceId JOIN
     demographic d
     ON d.demographic_no = cr.demographicNo 
WHERE cs.active = 1  AND
      cr.referalDate between '2018-11-31' and '2019-01-20' 
GROUP BY cr.serviceId 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...