你的第一个条件没有限制条件怎么会有去年同期量!假如横跨三年,那么去年同期就让人看不懂了!条件1:时间:_____年______月至_____年_____月-------------------------------------------------
-- 参考
-------------------------------------------------SELECT a.医院等级,
SUM(c.数量) AS 销售量,
(
SELECT SUM(c1.数量) FROM c c1
JOIN a1 on c1.医院编号=a1.医院编号
where a1.医院等级=a.医院等级
and DATEADD( yyyy,1, c1.时间) >= '<起始时间>'
and DATEADD( yyyy,1, c1.时间) <= '<结束时间>'
) AS 去年同期量,
(
SELECT SUM(c2.数量) FROM c c2
JOIN a2 on c2.医院编号=a2.医院编号
where a2.医院等级=a.医院等级
and c2.时间 >= '<起始时间>'
and C2.时间 <= DATEADD( mm,3,'<起始时间>')
) AS 前三个月量
FROM c
JOIN a ON c.医院编号=a.医院编号WHERE c.时间 >= '<起始时间>' and C.时间 '<结束时间>'GROUP BY a.医院等级
-- 参考
-------------------------------------------------SELECT a.医院等级,
SUM(c.数量) AS 销售量,
(
SELECT SUM(c1.数量) FROM c c1
JOIN a1 on c1.医院编号=a1.医院编号
where a1.医院等级=a.医院等级
and DATEADD( yyyy,1, c1.时间) >= '<起始时间>'
and DATEADD( yyyy,1, c1.时间) <= '<结束时间>'
) AS 去年同期量,
(
SELECT SUM(c2.数量) FROM c c2
JOIN a2 on c2.医院编号=a2.医院编号
where a2.医院等级=a.医院等级
and c2.时间 >= '<起始时间>'
and C2.时间 <= DATEADD( mm,3,'<起始时间>')
) AS 前三个月量
FROM c
JOIN a ON c.医院编号=a.医院编号WHERE c.时间 >= '<起始时间>' and C.时间 '<结束时间>'GROUP BY a.医院等级
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货