关于表列更换为主轴的问题续
关于表列更换为主轴的问题续
问题是这样的:
表T1,字段有A,B,日期, 花费, 次数
A B 日期 花费 次数
-----------------------------------------------
1 配件 2006-12-16 2 1
1 配件 2006-12-17 4 2
1 配件 2006-12-18 16 1
1 配件 2006-12-19 2 1
1 配件 2006-12-20 16 1
2 主件 2006-12-16 4 2
2 主件 2006-12-17 3 3
2 主件 2006-12-18 5 4
2 主件 2006-12-19 0 0
2 主件 2006-12-20 4 1
3 副件1 2006-12-16 4 1
3 副件1 2006-12-17 3 1
7 副件5 2006-12-16 5 1
7 副件5 2006-12-18 4 1
现在的要求是:
通过一个查询把日期添加到主轴,
字段有A,B,统计方式, 日期1,日期2,日期3... ,日期中存放的是花费.
A B 统计方式 2006-12-16 2006-12-17 2006-12-18 总计
-----------------------
1 配件 花费 2 4 16 22
次数 1 2 1 4
2 主件 花费 4 3 5 13
次数 2 3 4 9
3 副件1 花费 4 3 0 7
次数 1 1 0 2
7 副件5 花费 5 4 0 9
次数 1 1 0 2
现在不知道这个查询怎么写,多谢大家了!
------解决方案----------------------如果日期是字符型
Declare @S1 Nvarchar(4000), @S2 Nvarchar(4000)
Select @S1 = N 'Select A, B, N ' '花费 ' ' As 统计方式 ', @S2 = N ' Union All Select A, B, N ' '次数 ' ' '
Select @S1 = @S1 + N ', SUM(Case 日期 When ' ' ' + 日期 + N ' ' ' Then 花费 Else 0 End) As [ ' + 日期 + '] ',
@S2 = @S2 + N ', SUM(Case 日期 When ' ' ' + 日期 + N ' ' ' Then 次数 Else 0 End) As [ ' + 日期 + '