这是一个复杂的例子,想对它有一个深入的使用,那仔细看看吧
不解释,自己感受一下
点击(此处)折叠或打开
-
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/
本文提供了一个复杂的例子,展示了如何使用SQL创建表、插入数据,并通过puntipivot函数进行数据重组。示例涵盖了多种数据字段的处理,包括赌注、投资和责任等。SQL代码演示了如何对数据进行聚合和重新排列,以便更好地理解和分析。
640

被折叠的 条评论
为什么被折叠?



