+ -
当前位置:首页 → 问答吧 → PIVOT 方法中 内部能写 嵌套查询语句么?

PIVOT 方法中 内部能写 嵌套查询语句么?

时间:2011-10-12

来源:互联网

PIVOT 方法中 内部能写 嵌套查询语句么?我想动态关联列标题。 

样例如下:
create table customers
(
CUST_ID NUMBER(10),
STATE_CODE VARCHAR2(2),
TIMES_PURCHASED NUMBER(3)
)
insert into customers values(190,'NY',0);
insert into customers values(110,'NY',1);
insert into customers values(120,'NY',2);
insert into customers values(130,'NY',3);
insert into customers values(10,'HJ',0);
insert into customers values(150,'HJ',1);
insert into customers values(20,'HJ',2);
insert into customers values(590,'HJ',3);

SELECT * FROM customers

select * from (
  select times_purchased as "Puchase Frequency", state_code
  from customers t
)
pivot
(
  count(state_code)
  for state_code in (select distinct state_code from preferred_states)
)
order by 1


执行SQL 语句后报错:
 ORA-00936: 缺失表达式 


麻烦各位高手GG 给予解答。 多谢!~

作者: cnsybzds   发布时间: 2011-10-12

自己先顶一个,坐等解决方案!~~

作者: cnsybzds   发布时间: 2011-10-12

(select distinct state_code from preferred_states)
 改為
state_code in ("NY","HJ")
SQL code

select * from 
(
  select times_purchased as "Puchase Frequency", state_code
  from customers t
)t
pivot
(
  count(state_code)
  for state_code in ("NY","HJ")
) AS t2

作者: roy_88   发布时间: 2011-10-12

多谢楼上的解答, 不过不是我需要的。
我需要动态匹配这里的数据。 列标题是可以自定义的。查到什么就显示什么

作者: cnsybzds   发布时间: 2011-10-12

引用 3 楼 cnsybzds 的回复:

多谢楼上的解答, 不过不是我需要的。
我需要动态匹配这里的数据。 列标题是可以自定义的。查到什么就显示什么


參照http://topic.csdn.net/u/20100109/13/6a10c168-f190-4766-b838-adbf03c4ac7b.html

作者: roy_88   发布时间: 2011-10-12

希望能有一句SQL 的解决方案。 跪求解答!!!!

作者: cnsybzds   发布时间: 2011-10-12

引用 5 楼 cnsybzds 的回复:

希望能有一句SQL 的解决方案。 跪求解答!!!!

只要是動態都沒有一句搞定的,都需要拼湊

作者: roy_88   发布时间: 2011-10-12

热门下载

更多