如何得到select后各行的标志(如当前行,前一行,后一行)?
骨骨 2006-05-25 11:43:32 SQL> select decode(area_code_group,1,'合计',area_code) area_name,
2 decode(area_code_group,0,decode(card_type_group,1,'大计',card_type),'') card_name,
3 decode(card_type_group,0,decode(product_id_group,1,'小计',product_id),'') product_name,
4 quantity,org_amount,amount
5 from
6 (
7 select area_code,grouping(area_code) area_code_group,
8 card_type,grouping(card_type) card_type_group,
9 product_id,grouping(product_id) product_id_group,
10 sum(total_quantity) quantity,
11 sum(total_org_amount)/100 org_amount,
12 sum(total_amount)/100 amount
13 from tab_test
14 where prov_code = '034'
15 and substrb(stat_date,1,6) = '200605'
16 and busi_id in (2,20)
17 and card_status = 0
18 group by rollup(area_code,card_type,product_id)
19 )
20 /
AREA_NAME CARD_NAME PRODUCT_NAME QUANTITY ORG_AMOUNT AMOUNT
---------------------------------------- --------- ------------ ---------- ---------- ----------
0 2 0126 40 2000 800
0 2 0128 2 200 80
0 2 小计 42 2200 880
0 4 0126 211 10550 4220
0 4 0128 31 3100 1240
0 4 小计 242 13650 5460
0 大计 284 15850 6340
25 4 0126 26 1300 520
25 4 0128 3 300 120
25 4 小计 29 1600 640
25 大计 29 1600 640
510 2 0126 2 100 40
510 2 小计 2 100 40
510 3 0128 1 100 40
510 3 小计 1 100 40
510 4 0126 9 450 180
510 4 0128 1 100 40
510 4 小计 10 550 220
510 大计 13 750 300
511 4 0126 2 100 40
AREA_NAME CARD_NAME PRODUCT_NAME QUANTITY ORG_AMOUNT AMOUNT
---------------------------------------- --------- ------------ ---------- ---------- ----------
511 4 小计 2 100 40
511 大计 2 100 40
512 4 0126 17 850 340
512 4 0128 1 100 40
512 4 小计 18 950 380
512 大计 18 950 380
513 4 0126 10 500 200
513 4 0128 1 100 40
513 4 小计 11 600 240
513 大计 11 600 240
514 2 0126 4 200 80
514 2 小计 4 200 80
514 4 0126 6 300 120
514 4 小计 6 300 120
514 大计 10 500 200
515 3 0126 1 50 20
515 3 小计 1 50 20
515 4 0126 6 300 120
515 4 0128 2 200 80
515 4 小计 8 500 200
515 大计 9 550 220
合计 416 23300 9320
70 rows selected
SQL>