求一条Sql语句 在线等大神...
有两张表:
表1
GroupId GroupName
----------- --------------------------------------------------
1 杜毅
2 徐蓓
3 赵烁
4 李翔飞
5 唐晓军
6 樊欣
7 曾晓晨
8 左荣
9 陈铁冰
10 徐赵
11 注册
表2
GroupId Groupcount inputtime
----------- ----------- -----------------------
1 87 2013-06-08 16:31:15.000
1 140 2013-06-09 09:05:14.000
2 44 2013-06-09 09:05:14.000
3 12 2013-06-09 09:05:14.000
4 31 2013-06-09 09:05:14.000
5 525 2013-06-09 09:05:14.000
1 188 2013-06-13 09:12:46.000
2 80 2013-06-13 09:12:46.000
3 26 2013-06-13 09:12:46.000
4 117 2013-06-13 09:12:46.000
现在我需要按日期统计
需要得出如下格式数据
GroupName 2013-06-02 2013-06-03 2013-06-04 2013-06-05 2013-06-06 2013-06-07
--------------------------------------------------
杜毅 这里为Groupcount字段的值
徐蓓
赵烁
李翔飞
唐晓军
樊欣
曾晓晨
左荣
陈铁冰
徐赵
注册
大神快出现啊。。
谢谢了.
[解决办法]
搜一下表的竖转横,一堆呢
[解决办法]
数据库行列转换,自己到博客园或者csdn上搜去,一大堆
[解决办法]
昨天写完了,今天才贴出来
declare @strsql varchar(1000)
set @strsql='select a.GroupName '
select @strsql=@strsql+',sum(case convert(char(10),inputtime,120) when '''+b.inputtime+''' then isnull(GroupCount,0) else 0 end)['+b.inputtime+']'
from (select distinct(convert(char(10),inputtime,120)) as inputtime from t2 ) b
set @strsql=@strsql+' from t1 as a,t2 as c where a.GroupId=c.GroupId Group by a.GroupName '
print(@strsql)
exec(@strsql)