sql过滤 组合问题。。急。。。在线等。。帮顶有分

fengyuananan 2011-04-28 01:08:19
create table tb
(
id int identity(1,1),
[money] money,
dt datetime,
[type] int
)
insert into tb values(20,'2011-04-07 00:00:00.000',1)
insert into tb values(10,'2011-04-07 00:00:00.000',1)
insert into tb values(10,'2011-05-07 00:00:00.000',1)
insert into tb values(20,'2011-03-07 00:00:00.000',2)
insert into tb values(10,'2011-04-07 00:00:00.000',2)
insert into tb values(20,'2011-05-07 00:00:00.000',3)
insert into tb values(10,'2011-05-07 00:00:00.000',3)
insert into tb values(20,'2011-05-07 00:00:00.000',3)
insert into tb values(10,'2011-03-07 00:00:00.000',4)
insert into tb values(10,'2011-04-07 00:00:00.000',4)
insert into tb values(20,'2011-05-07 00:00:00.000',5)
insert into tb values(10,'2011-02-07 00:00:00.000',5)
insert into tb values(20,'2011-03-07 00:00:00.000',6)
--过滤数据事真确的
select substring(Convert(varchar(10),dt,121),6,2) as sj,sum([money]) as [money],[type] from tb
group by substring(Convert(varchar(10),dt,121),6,2),[type]
--结果集
sj money type
04 90.00 1
05 30.00 1
03 60.00 2
04 30.00 2
05 150.00 3
03 30.00 4
04 30.00 4
02 30.00 5
05 60.00 5
03 60.00 6
我需要的结果:
sj type(1) type(2) type(3) type(4) type(5) type(6)
02 0 0 0 0 30 0
03 0 60 0 30 0 60
04 90 30 0 30 0 0
05 30 0 150 0 60 0
sj-是月份,money-是金额,type-是类型
我想得到的结果集怎么写sql呢?大家帮我看看。。。帮顶有份。。。

...全文
59 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyuananan 2011-04-28
  • 打赏
  • 举报
回复
我的问题解决了,呵呵,谢谢大家的热心帮助。。。。
kingdom_0 2011-04-28
  • 打赏
  • 举报
回复
存储过程多灵活..
fengyuananan 2011-04-28
  • 打赏
  • 举报
回复
先谢谢你啊,

直接用sql做不到吗?
bdmh 2011-04-28
  • 打赏
  • 举报
回复
你这得再存储过程中自己组织了,或者在代码中组织

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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