SELECT D.NAME,
SUM(D.COUNT_1)AS 1,
SUM(D.COUNT_2) AS 2,
SUM(D.COUNT_3)AS 3
FROM ------------第一组------------
(SELECT C.NAME,COUNT(DISTINCT B.PATIENT_ID) AS count_1,
0 AS COUNT_2,
0 AS COUNT_3
FROM tab_1A , tab_2 B tab_3 C
WHERE a.x=b.x and
a.x=c.x
GROUP By C.DEPT_NAME
UNION ALL------------第二组------------
SELECT C.DEPT_NAME,0 AS count_1 , COUNT(DISTINCT B.PATIENT_ID ) AS COUNT_2,
FROM tab_1A , tab_2 B tab_3 C
WHERE a.x=b.x and
a.x=c.x
GROUP By C.DEPT_NAME
UNION ALL------------第三组------------
SELECT C.DEPT_NAME, 0 AS count_1, 0 AS COUNT_2 ,COUNT(DISTINCT PATIENT_ID ) AS COUNT_2
FROM tab_1A , tab_2 B tab_3 C
WHERE a.x=b.x and
a.x=c.x
GROUP By C.DEPT_NAME ) D
GROUP By D.DEPT_NAME
首先建视图,把不同列变为相同列。
CREATE VIEW V1 AS SELECT A1 C1,A2 C2 ,A3 C3 FROM TABLE1;
CREATE VIEW V2 AS SELECT B1 C1,B2 C2 ,B3 C3 FROM TABLE2;
CREATE VIEW V3 AS SELECT D1 C1,D2 C2 ,D3 C3 FROM TABLE3;
CREATE VIEW V4 AS SELECT E1 C1,E2 C2 ,E3 C3 FROM TABLE4;
CREATE VIEW V0 AS SELECT * from v1 union select * FROM V2 UNION SELECT * FROM V3 UNION SELECT * FROM V4
再用 SELECT * from V0 建数据窗口 DW_1
DW_1.SETTRANSOBJECT(SQLCA)
DW_1.RETRIEVE()
DW_1.SAVEAS("C:\A.XLS", & Excel!, FALSE)