SQL报表横向显示,交叉报表显示 (1)
用DECODE 或用交叉报表实现报表横向显示
CREATE TABLE LL (ART_NO VARCHAR2(3),NAME VARCHAR2(4),SALES VARCHAR2(4));
INSERT INTO LL VALUES(101,\'A1\',200);
INSERT INTO LL VALUES(102,\'B1\',400);
INSERT INTO LL VALUES(103,\'C1\',600);
INSERT INTO LL VALUES(104,\'D1\',800);
COMMIT
SELECT NO,MAX(N101) AS "101",MAX(N102) AS "102",MAX(N103) AS "103",MAX(N104) AS "104"
FROM (
SELECT 1 NO,
DECODE(ART_NO,\'101\',NAME,NULL) AS "N101",
DECODE(ART_NO,\'102\',NAME,NULL) AS "N102",
DECODE(ART_NO,\'103\',NAME,NULL) AS "N103",
DECODE(ART_NO,\'104\',NAME,NULL) AS "N104"
FROM LL
UNION
SELECT 2 NO,
DECODE(ART_NO,\'101\',SALES,NULL) AS "N101",
DECODE(ART_NO,\'102\',SALES,NULL) AS "N102",
DECODE(ART_NO,\'103\',SALES,NULL) AS "N103",
DECODE(ART_NO,\'104\',SALES,NULL) AS "N104"
FROM LL
)
GROUP BY NO