关于同比问题??

small_pig 2004-01-07 11:09:38
a表
[医院编号] [医院名称] [医院等级]
3001 aaa 三级
3002 bbb 三级
2001 ccc 二级
2002 ddd 二级
1001 eee 一级
1002 fff 一级
4001 ggg 社区
4002 hhh 社区
5001 iii 医院
5002 jjj 医院

b表
[产品编号] [产品名称] [产品种类]
1001 a01 a
1002 a02 a
1003 a03 a
1004 b01 b
1005 b02 b
1006 b03 b

c表
[医院编号] [产品编号] [数量] [时间]
1001 1001 100 2003-07-18
2001 1003 200 2003-11-02
3001 1005 60 2003-12-06
1002 1002 30 2003-01-01
2002 1005 500 2003-12-07
2003 1003 70 2003-02-05
1003 1004 500 2003-06-02
3003 1006 20 2003-06-02
5004 1002 110 2003-02-09
4005 1001 22 2003-03-07
5005 1006 20 2003-06-01
以下为报表的内容
条件1:时间:_____年______月至_____年_____月
条件2: 产品种类(全部,a,b)

报表内容
[医院等级] [销售量] [去年同期量] [% ] [前三个月量] [滚动%]
三级 。。
二级 。。
一级 。。
社区 。。
药店 。。
合计
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
DigJim 2004-01-09
  • 打赏
  • 举报
回复
呵呵!互相幫助!!
small_pig 2004-01-09
  • 打赏
  • 举报
回复
DigJim(挖土),谢谢你的支持阿,我测试完后,一定给份,好么?
DigJim 2004-01-08
  • 打赏
  • 举报
回复
你的第一个条件没有限制条件怎么会有去年同期量!假如横跨三年,那么去年同期就让人看不懂了!

条件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.医院等级
DigJim 2004-01-08
  • 打赏
  • 举报
回复
沒有跨年,就OK了!我的就是答案!
small_pig 2004-01-08
  • 打赏
  • 举报
回复
当然不会有跨年的
small_pig 2004-01-07
  • 打赏
  • 举报
回复
敬请高手帮忙的

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧