Есть таблица сотрудников и таблица заказов. У каждого из заказов один из типов оплаты (Visa, Check, Credit и т.д. всего штук 8 уникальных).
Надо вывести список сотрудников, и для каждого указать количество уникальных типов оплаты среди всех проведённых им заказов, а также, вывести количество заказов каждого типа оплаты.
Например, если у сотрудника 4 заказа оплачены визой и 3 чеком, должно вывестись, что у него 2 уникальных типа, и для каждого типа - количество.
Загвоздка в том, что если выводится каждый из типов, поле count(distinct ...) для каждого показывает 1, как, например, в результате такого запроса:
Код: Выделить всё
select
employee.lastName,
employee.firstname,
orders.paymentmethod,
count(orders.paymentmethod),
count(distinct orders.paymentmethod)
from employee, orders
where (orders.empNo = employee.empno)
group by employee.lastName, employee.firstname, orders.paymentmethod