现在表:ID,用户ID(外键),消费类型ID(外键),消费额(int),时间
想得到的效果是:搜索 每天每人各种消费类型的消费额
就是需要一个 行列转换 用户ID,消费类型A,消费类型B,消费类型C, 时间(每天一条记录)1 40元 50元 60元 2010/2/20
想得到的效果是:搜索 每天每人各种消费类型的消费额
就是需要一个 行列转换 用户ID,消费类型A,消费类型B,消费类型C, 时间(每天一条记录)1 40元 50元 60元 2010/2/20
解决方案 »
- 关于XML存url的&转义的问题
- ASP.NET 关于从excel、txt 导入数据 格式问题。
- 问一个 很傻 的问题:ObjectDataSource 做为数据源的问题
- 关于来路分析
- 我在default.aspx上放了一个menu控件,ie报错怎么回事?
- 如何用C#代码改变框架集的内容的问题
- 在线等待 在打开含有ASP.net的工程时提示"检测到的Web服务器不是ASP.net1.1版本,无法运行ASP.net程序" 怎么解决啊
- 请问在不用hpyerlink或<a></a>如何来链接到其它的网页呢
- 如何在内容页里面写脚本
- 怎么得到DataGrid中的某一行中的某一列的值?
- 标准表达式中数据类型不匹配。
- 向GridView的模板列中 动态添加CheckBox
用户ID,
消费类型A=SUM(消费类型A),
消费类型B=SUM(消费类型B),
消费类型C=SUM(消费类型C),
时间
from
(
select
用户ID,
消费类型A=CASE 消费类型ID WHEN 'A' THEN 消费额 ELSE 0 END,
消费类型B=CASE 消费类型ID WHEN 'B' THEN 消费额 ELSE 0 END,
消费类型C=CASE 消费类型ID WHEN 'C' THEN 消费额 ELSE 0 END,
时间
from 原始表
) 临时表
group by 用户ID,时间
Set @sql = 'Select 用户ID,convert(varchar(20),时间,23)
Select @sql = @sql + ',sum(case 消费类型ID when '''+消费类型ID+''' then 消费额 else 0 end) ['+消费类型ID+']'
from (select distinct 消费类型ID from tab) as tab
Select @sql = @sql+' from tab group by 用户ID'
Exec (@sql)