现在的位置: 首页 > 综合 > 正文

SQL报表横向显示,交叉报表显示

2012年02月18日 ⁄ 综合 ⁄ 共 668字 ⁄ 字号 评论关闭
 用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

抱歉!评论已关闭.