你能帮我构建查询吗? 我必须在产品之间创建一个交叉表。我想我最好能告诉你。
这是源表(客户和产品表的笛卡尔积);
YEAR MONTH PRODUCT CUSTOMER SOLD
2013 1 A 1 1
2013 1 A 2 0
2013 1 A 3 1
2013 1 A 4 0
2013 1 B 1 0
2013 1 B 2 1
2013 1 B 3 1
2013 1 B 4 1
2013 2 A 1 1
2013 2 A 2 0
2013 2 B 1 1
这是我要重现的最终数据透视表FOR 2013-01;
PRODDUCT A B
A 2 1
B 1 3
数字是客户数量。此表表示已购买A的客户中还有多少人购买了B.
这是表格的DDL
CREATE TABLE yourtable (year varchar2(4)
, month number
, product varchar2(1)
,customer varchar2(1)
, sold number );
以下是一些示例数据:
insert into yourtable values ('2013', 1, 'A', '1', 1);
insert into yourtable values ('2013', 1, 'A', '2', 0);
insert into yourtable values ('2013', 1, 'A', '3', 1);
insert into yourtable values ('2013', 1, 'A', '4', 0);
insert into yourtable values ('2013', 1, 'B', '1', 0);
insert into yourtable values ('2013', 1, 'B', '2', 1);
insert into yourtable values ('2013', 1, 'B', '3', 1);
insert into yourtable values ('2013', 1, 'B', '4', 1);
insert into yourtable values ('2013', 2, 'A', '1', 1);
insert into yourtable values ('2013', 2, 'A', '2', 0);