语句不加“with rollup”可以查询,但家了以后提示如最后
SELECT ISNULL(A.SHOSPITALNAME, '合计') , COUNT(*) AS RC_A, RC_B, RC_C, SUM(SBCZFY) AS ZFY_A, ZFY_B, ZFY_C, SUM(SBFH_MEDI) AS ZFYP_A, ZFYP_B, ZFYP_C, SUM(SBFH_MEDI+SBFH_TREAT+SBFH_QT) AS ZFXM_A, ZFXM_B,ZFXM_C,
   SUM(SBC_BCJE) AS BCJE_A, BCJE_B, BCJE_C, AVG(SZYDAYS) AS PJZYTS_A, PJZYTS_B, PJZYTS_C, (SUM(SBCZFY)/COUNT(*))/AVG(SZYDAYS) AS PJCRFY_A, PJCRFY_B, PJCRFY_C, SUM(SBCZFY)/COUNT(*) AS CJFY_A, CJFY_B, CJFY_C
FROM NH_InchgBC_List AS A  LEFT JOIN ( SELECT B.SHOSPITALNAME , COUNT(*) AS RC_B,RC_C, SUM(SBCZFY) AS ZFY_B,ZFY_C, SUM(SBFH_MEDI) AS ZFYP_B,ZFYP_C, SUM(SBFH_MEDI+SBFH_TREAT+SBFH_QT) AS ZFXM_B,ZFXM_C,
   SUM(SBC_BCJE) AS BCJE_B, BCJE_C, AVG(SZYDAYS) AS PJZYTS_B,PJZYTS_C, (SUM(SBCZFY)/COUNT(*))/AVG(SZYDAYS) AS PJCRFY_B, PJCRFY_C, SUM(SBCZFY)/COUNT(*) AS CJFY_B, CJFY_C   
FROM NH_InchgBC_List AS B LEFT JOIN (
    SELECT C.SHOSPITALNAME , COUNT(*) AS RC_C, SUM(SBCZFY) AS ZFY_C, SUM(SBFH_MEDI) AS ZFYP_C, SUM(SBFH_MEDI+SBFH_TREAT+SBFH_QT) AS ZFXM_C,
   SUM(SBC_BCJE) AS BCJE_C, AVG(SZYDAYS) AS PJZYTS_C, (SUM(SBCZFY)/COUNT(*))/AVG(SZYDAYS) AS PJCRFY_C, SUM(SBCZFY)/COUNT(*) AS CJFY_C   
FROM NH_InchgBC_List AS C
WHERE SYEAR = 2010 AND SHOSPITALTYPE = '定点地市医疗机构' AND DCHGDATE > '2010-01-01' AND DCHGDATE < '2010-11-26'
GROUP BY SHOSPITALNAME
) AS C
ON B.SHOSPITALNAME = C.SHOSPITALNAME
WHERE SYEAR = 2011 AND SHOSPITALTYPE = '定点地市医疗机构' AND DCHGDATE > '2011-01-01' AND DCHGDATE < '2011-11-26'
GROUP BY B.SHOSPITALNAME,RC_C,ZFY_C,ZFYP_C,ZFXM_C,BCJE_C,PJZYTS_C,PJCRFY_C,CJFY_C
) AS B 
ON A.SHOSPITALNAME = B.SHOSPITALNAME 
WHERE SYEAR = 2012
AND A. SHOSPITALTYPE = '定点地市医疗机构' AND A.SHOSPITALNAME != '市外医疗机构'
AND DCHGDATE > '2012-01-01' AND DCHGDATE < '2012-11-26'
GROUP BY A.SHOSPITALNAME, RC_B,ZFY_B,ZFYP_B,ZFXM_B,BCJE_B,PJZYTS_B,PJCRFY_B,CJFY_B, RC_C,ZFY_C,ZFYP_C,ZFXM_C,BCJE_C,PJZYTS_C,PJCRFY_C,CJFY_C WITH CUBE错误:消息 1027,级别 15,状态 1,第 23 行
GROUP BY 子句中指定的表达式太多。当指定了 CUBE 或 ROLLUP 时,表达式的最大数目为 10。