【发布时间】:2016-04-22 21:44:17
【问题描述】:
我编写了一个查询,它按城市名称从不同的列中提取数据。
我的查询如下:
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
如果有人可以指导我正确的方向,请不胜感激。
【问题讨论】:
标签: sql oracle pivot oracle12c