Необходимо организовать имена сотрудников в соответствии с их колонкой города
Я написал запрос, который извлекает данные из разных групп столбцов по названию города.
Мой запрос выглядит следующим образом:
select q.first_name
from (select employee_id as eid,first_name,city
from employees
group by city,first_name,employee_id
order by first_name)q
, employees e
where e.employee_id = q.eid;
Результатом запроса являются имена сотрудников в одном столбце, сгруппированные по городам.
Теперь я хотел бы улучшить приведенный выше запрос, чтобы классифицировать сотрудников по названиям городов в разных столбцах.
Я попытался с помощью pivot сделать эту работу. Вот мой основной запрос:
select * from (
select q.first_name
from (select employee_id as eid,first_name,city
from employees
group by city,first_name,employee_id
order by first_name)q
, employees e
where e.employee_id = q.eid
) pivot
(for city in (select city from employees))
У меня возникает проблема с синтаксисом, говоря о пропущенном выражении, и я не уверен, как использовать pivot для достижения ожидаемого результата ниже.
Ожидаемый результат:
DFW CH NY
---- --- ---
TripeH John Hitman
Batista Cena Yokozuna
Rock James Mysterio
Спасибо, если кто-нибудь может направить меня в правильном направлении.