这是一个复杂的例子,想对它有一个深入的使用,那仔细看看吧
不解释,自己感受一下
点击(此处)折叠或打开
- create table TT_TEST2
- (
- allup_level NUMBER(2),
- cross_flag NUMBER(1),
- book_id NUMBER(10),
- bit_state VARCHAR2(10),
- pool1_id NUMBER(10),
- selection1_no VARCHAR2(10),
- goal_line1 NUMBER(5,2),
- pool2_id NUMBER(10),
- selection2_no VARCHAR2(10),
- goal_line2 NUMBER(5,2),
- pool3_id NUMBER(10),
- selection3_no VARCHAR2(10),
- goal_line3 NUMBER(5,2),
- pool4_id NUMBER(10),
- selection4_no VARCHAR2(10),
- goal_line4 NUMBER(5,2),
- pool5_id NUMBER(10),
- selection5_no VARCHAR2(10),
- goal_line5 NUMBER(5,2),
- pool6_id NUMBER(10),
- selection6_no VARCHAR2(10),
- goal_line6 NUMBER(5,2),
- pool7_id NUMBER(10),
- selection7_no VARCHAR2(10),
- goal_line7 NUMBER(5,2),
- pool8_id NUMBER(10),
- selection8_no VARCHAR2(10),
- goal_line8 NUMBER(5,2),
- ticket_count NUMBER(10),
- investment NUMBER(19),
- liability NUMBER(22,2),
- act_liability NUMBER(22,2)
- );
- insert into TT_TEST2 (allup_level, cross_flag, book_id, bit_state, pool1_id, selection1_no, goal_line1, pool2_id, selection2_no, goal_line2, pool3_id, selection3_no, goal_line3, pool4_id, selection4_no, goal_line4, pool5_id, selection5_no, goal_line5, pool6_id, selection6_no, goal_line6, pool7_id, selection7_no, goal_line7, pool8_id, selection8_no, goal_line8, ticket_count, investment, liability, act_liability)
- values (3, 0, 0, \'0\', 2293079, \'+5\', null, 2293087, \'+3\', null, 2293127, \'-2\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 1, 198, 1767.74, 0);
- insert into TT_TEST2 (allup_level, cross_flag, book_id, bit_state, pool1_id, selection1_no, goal_line1, pool2_id, selection2_no, goal_line2, pool3_id, selection3_no, goal_line3, pool4_id, selection4_no, goal_line4, pool5_id, selection5_no, goal_line5, pool6_id, selection6_no, goal_line6, pool7_id, selection7_no, goal_line7, pool8_id, selection8_no, goal_line8, ticket_count, investment, liability, act_liability)
- values (2, 0, 0, \'0\', 2293079, \'+5\', null, 2293087, \'+3\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 1, 198, 883.87, 0);
- insert into TT_TEST2 (allup_level, cross_flag, book_id, bit_state, pool1_id, selection1_no, goal_line1, pool2_id, selection2_no, goal_line2, pool3_id, selection3_no, goal_line3, pool4_id, selection4_no, goal_line4, pool5_id, selection5_no, goal_line5, pool6_id, selection6_no, goal_line6, pool7_id, selection7_no, goal_line7, pool8_id, selection8_no, goal_line8, ticket_count, investment, liability, act_liability)
- values (2, 0, 0, \'0\', 2293087, \'+3\', null, 2293127, \'-2\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 1, 198, 792, 0);
- insert into TT_TEST2 (allup_level, cross_flag, book_id, bit_state, pool1_id, selection1_no, goal_line1, pool2_id, selection2_no, goal_line2, pool3_id, selection3_no, goal_line3, pool4_id, selection4_no, goal_line4, pool5_id, selection5_no, goal_line5, pool6_id, selection6_no, goal_line6, pool7_id, selection7_no, goal_line7, pool8_id, selection8_no, goal_line8, ticket_count, investment, liability, act_liability)
- values (2, 0, 0, \'0\', 2293079, \'+5\', null, 2293127, \'-2\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 0, \'0\', null, 1, 198, 883.87, 0);
- commit;
以上是基础数据,有点长,
以下是sql
以下是sql
点击(此处)折叠或打开
- WITH a AS
- (SELECT allup_level,
- cross_flag,
- pool_id,
- selection_no,
- ticket_count,
- investment
- FROM TT_TEST2 p unpivot
-
- ((pool_id, selection_no) FOR(x1, x2) IN((pool1_id,
- selection1_no),
- (pool2_id,
- selection2_no),
- (pool3_id,
- selection3_no),
- (pool4_id,
- selection4_no),
- (pool5_id,
- selection5_no),
- (pool6_id,
- selection6_no),
- (pool7_id,
- selection7_no),
- (pool8_id,
- selection8_no)))
- WHERE pool_id > 0)
- SELECT *
- FROM a pivot ( SUM(decode(cross_flag, 1, ticket_count, 0)) AS tx, SUM(decode(cross_flag, 1, 0, ticket_count)) AS t, SUM(decode(cross_flag, 1, investment, 0)) AS ix, SUM(decode(cross_flag, 1, 0, investment)) AS i FOR allup_level IN(2 AS v2,
- 3 AS v3,
- 4 AS v4,
- 5 AS v5,
- 6 AS v6,
- 7 AS v7,
- 8 AS v8))
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/134308/viewspace-1175926/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/134308/viewspace-1175926/