一个复杂的SQL统计,高手出招

z9945 2007-12-26 02:02:27
表:

日期 指标 单位 数量
2007-1-1 入库 A单位 1
2007-1-1 出库 B单位 2
2007-1-2 入库 A单位 3
........

要求结果:

2007-1-1日
A单位 B单位 ....... N单位
入库 1 0 0
出库 0 2 0
. . . .
. . . .
. . . .
指标N . . .
本日 1 2 .
去年同期 . . .
本月 4 0 .
去年同期 . . .
本年 4 2 .
去年同期 . . .
...全文
203 12 打赏 收藏 举报
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wyb0026 2008-01-11
如果单位数量超过SQL最大列数怎么办?
  • 打赏
  • 举报
回复
z9945 2008-01-11
10楼的,感觉这样会很慢的.

我原来也是用这种方法.那时候统计一个月的数据就很慢了.
  • 打赏
  • 举报
回复
dobear_0922 2007-12-27
看看
  • 打赏
  • 举报
回复
z9945 2007-12-27
怎么这么难对齐呢
  • 打赏
  • 举报
回复
z9945 2007-12-27
表:
------------------------------------------------------------------------------
日期 | 指标 | 单位 | 数量
2007-1-1 | 入库 | A单位 | 1
2007-1-1 | 出库 | B单位 | 2
2007-1-2 | 入库 | A单位 | 3
........ | ... | ... | ...
日期N | 指标N | 单位N | N
------------------------------------------------------------------------------

要求结果:
-------------------------------------------------------

2007-1-1日
-----------------------------------------------------------------------------------------
| A单位 | B单位 | ....... | 单位N
--------|-----------|--------------|---------------|-------------------------------------
入库 | 1 | 0 | ....... | 0
出库 | 0 | 2 | ....... | 0
. | . | . | . | .
. | . | . | . | .
指标N | . | . | . | .
--------|-----------|--------------|---------------|------------------------------------
本日 | 1 | 2 | . | .
去年同期| . | . | . | .
本月 | 4 | 0 | . | .
去年同期| . | . | . | .
本年 | 4 | 2 | . | .
去年同期| . | . | . | .
  • 打赏
  • 举报
回复
z9945 2007-12-27
这个应该对得比较好了

表:
------------------------------------------------------------------------------
日期 | 指标 | 单位 | 数量
2007-1-1 | 入库 | A单位 | 1
2007-1-1 | 出库 | B单位 | 2
2007-1-2 | 入库 | A单位 | 3
........ | ... | ... | ...
日期N | 指标N | 单位N | N
------------------------------------------------------------------------------

要求结果:
-------------------------------------------------------

2007-1-1日
-----------------------------------------------------------------------------------------
| A单位 | B单位 | ....... | 单位N
--------|-----------|--------------|---------------|-------------------------------------
入库 | 1 | 0 | ....... | 0
出库 | 0 | 2 | ....... | 0
. | . | . | . | .
. | . | . | . | .
指标N | . | . | . | .
--------|-----------|--------------|---------------|------------------------------------
本日 | 1 | 2 | . | .
去年同期| . | . | . | .
本月 | 4 | 0 | . | .
去年同期| . | . | . | .
本年 | 4 | 2 | . | .
去年同期| . | . | . | .
  • 打赏
  • 举报
回复
极速小王子 2007-12-27
复杂。我的做法一般是客户端根据服务器返回的结果,不停的生成新的查询语句,然后显示。
  • 打赏
  • 举报
回复
msi586 2007-12-26
这个涉及到行转列?
  • 打赏
  • 举报
回复
fcuandy 2007-12-26
...
  • 打赏
  • 举报
回复
liangCK 2007-12-26
这个查询挺麻烦的。
  • 打赏
  • 举报
回复
tomyuansir 2007-12-26
学习!!!帮顶下!!!
  • 打赏
  • 举报
回复
jinjazz 2007-12-26
你应该使用ssas和mdx查询
  • 打赏
  • 举报
回复
发帖
MS-SQL Server

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2007-12-26 02:02
社区公告
暂无公告