SELECT '310000004',DECODE(KPI_CODE, '110000001', 'WUHAN'),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='110000001'
GROUP BY DECODE(KPI_CODE,'110000001', 'WUHAN');
SELECT '310000004',DECODE(KPI_CODE, '120000001', 'HUBEI'),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='120000001'
GROUP BY DECODE(KPI_CODE,'120000001', 'HUBEI');
SELECT '310000004',DECODE(KPI_CODE, '130000001', 'DALIAN'),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='130000001'
GROUP BY DECODE(KPI_CODE,'130000001', 'DALIAN');
SELECT '310000004',DECODE(KPI_CODE, '130000002', 'HUNAN'),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='130000002'
GROUP BY DECODE(KPI_CODE,'130000002', 'HUNAN');
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='110000001'
GROUP BY DECODE(KPI_CODE,'110000001', 'WUHAN');
SELECT '310000004',DECODE(KPI_CODE, '120000001', 'HUBEI'),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='120000001'
GROUP BY DECODE(KPI_CODE,'120000001', 'HUBEI');
SELECT '310000004',DECODE(KPI_CODE, '130000001', 'DALIAN'),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='130000001'
GROUP BY DECODE(KPI_CODE,'130000001', 'DALIAN');
SELECT '310000004',DECODE(KPI_CODE, '130000002', 'HUNAN'),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code='130000002'
GROUP BY DECODE(KPI_CODE,'130000002', 'HUNAN');
看看我下面的能否满足
需要创建表:
create table TD_CITY
(
ID VARCHAR2(20),
CITYNAME VARCHAR2(20)
) pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
insert into td_city (ID, CITYNAME, ROWID)
values ('110000001', 'WUHAN', '');insert into td_city (ID, CITYNAME, ROWID)
values ('120000001', 'HUBEI', '');insert into td_city (ID, CITYNAME, ROWID)
values ('130000001', 'DALIAN', '');---------------------------------------------------------SQL> select * from td_city;
ID CITYNAME
-------------------- --------------------
110000001 WUHAN
120000001 HUBEI
130000001 DALIAN
---------------------------------
create or replace procedure PRO_SELECT is
CITYCODE TD_CITY%ROWTYPE;
CURSOR CITY_CURSOR IS SELECT * FROM TD_CITY;
CITYID VARCHAR2(20);
CITYNAME VARCHAR2(20);
begin
open CITY_CURSOR;
fetch CITY_CURSOR into CITYCODE;
while CITY_CURSOR%found LOOP
CITYID := CITYCODE.ID;
CITYNAME := CITYCODE.NAME;
SELECT '310000004',DECODE(KPI_CODE, CITYID, CITYNAME),
'AA'||SUM(KPI_VALUE)||
'BB'||SUM(DECODE(AREA_DESC,'BB',KPI_VALUE,0))||
'CC'||SUM(DECODE(AREA_DESC,'CC',KPI_VALUE,0))||
'DD'||SUM(DECODE(AREA_DESC,'DD',KPI_VALUE,0))||
'EE'||SUM(DECODE(AREA_DESC,'EE',KPI_VALUE,0))||
'FF'||SUM(DECODE(AREA_DESC,'FF',KPI_VALUE,0))||
'HH'||SUM(DECODE(AREA_DESC,'HH',KPI_VALUE,0))||
'JJ'||SUM(DECODE(AREA_DESC,'JJ',KPI_VALUE,0))||
'KK'||SUM(DECODE(AREA_DESC,'KK',KPI_VALUE,0))||
'LL'||SUM(DECODE(AREA_DESC,'LL',KPI_VALUE,0))
FROM DW.SEND_SMS_KPI_TEMP ---省级指标---市级指标
WHERE kpi_code=CITYID
GROUP BY DECODE(KPI_CODE,CITYID, CITYNAME);
commit;
fetch CITY_CURSOR into CITYCODE;
end loop;
close CITY_CURSOR;
end;