【发布时间】:2015-09-18 06:57:52
【问题描述】:
我有一个数据透视的要求。我已经尝试过使用 pivot 进行以下查询:
select * from
(
select g.geography_code,
g.description,
a.external_id_1 as ext
from geography_alignment_timeline gal
join geography g on g.geography_id=gal.geography_id
join alignment a on gal.alignment_id=a.alignment_id
join team t on a.team_id=t.team_id
where g.tenant_id=500104
and g.region_id=7888500001071037
and t.team_id=70000012130101
)
pivot
(
max(ext) for ext in (select external_id_1 from alignment where tenant_id=500104)
);
我得到了错误:
ORA-00936: missing expression
Tables and columns:
Geography : Geography_id,Geography_code,Description,External_id_1
Geography_alignment_timeline : Geography_id,Alignment_id,External_id_1
Alignment : Alignment_id,team_id,Alignment_name,External_id_1
team : Team_id,name,Description,External_id_1
我想显示如下数据..
每个团队都有单独的 alignment_ids。我想显示上面的数据。
你能帮我解决一下问题吗?
【问题讨论】:
-
我们没有您的表格,我们没有您的数据,请问有人可以帮忙吗?请发布一个测试用例。
-
sqlfiddle.com/#!4 或者您可以发布完整的错误消息。内部查询是否独立工作?
-
您不能在
IN子句中包含子查询。它应该是hard coded 值。