Я искал способ сделать это, но всегда есть что-то не так с предоставленной помощью. (MYSQL не принимается, у меня больше условий, чем у человека, задающего вопрос и т. Д.)
Я хочу иметь возможность рассчитывать на 2 вещи для сотрудников. У меня есть 3 разных условия. Как это могло быть сделано ??
Код COUNT ниже настолько неправильный, но он должен дать представление о том, что я хочу, чтобы он делал. Я вывожу 2 строки, поэтому мне нужно, чтобы они имели разные имена.
К вашему сведению: (это работает с одним счетом)
Спасибо
SELECT employees.employees_ID,
employees.name,
employees.country_count_ID,
employees.department_ID,
employees.initials,
country.country_initials,
COUNT(distinct clients.retailer_ID when clients.progress_ID = 6) as aRows,
COUNT(distinct case when clients.progress_ID = 7) as bRows
FROM employees
LEFT OUTER JOIN clients ON employees.employees_ID = clients.sales_employees_ID
LEFT OUTER JOIN country ON employees.country_count_ID = country.count_ID
WHERE employees.department_ID = 1
GROUP BY employees.employees_ID,
employees.name,
employees.country_count_ID,
employees.department_ID,
employees.initials,
country.country_initials
Ты можешь использовать case
с count(distinct)
:
COUNT(distinct case when clients.progress_ID = 6 then clients.retailer_ID end) as aRows,
COUNT(distinct case when clients.progress_ID = 7 then clients.retailer_ID end) as bRows,
Других решений пока нет …