比如说元数据集是这样的形式id name date month
1 A 10元 1月
1 A 20元 1月
1 A 30元 1月
1 A 10元 2月
1 A 20元 2月
1 B 10元 1月
1 B 11元 1月
1 B 20元 2月
1 B 30元 3月
1 B 40元 4月
1 B 50元 5月
要转换成:
id name 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
1 A 10元 10元
1 A 20元 20元
1 A 30元
1 B 10元 20元 30元 40元 50元
1 B 11元
就是说 一个id的最大行数 取决于 最多记录的那个月的最大行数
然后 没值的月份就显示空白如何实现
1 A 10元 1月
1 A 20元 1月
1 A 30元 1月
1 A 10元 2月
1 A 20元 2月
1 B 10元 1月
1 B 11元 1月
1 B 20元 2月
1 B 30元 3月
1 B 40元 4月
1 B 50元 5月
要转换成:
id name 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
1 A 10元 10元
1 A 20元 20元
1 A 30元
1 B 10元 20元 30元 40元 50元
1 B 11元
就是说 一个id的最大行数 取决于 最多记录的那个月的最大行数
然后 没值的月份就显示空白如何实现
解决方案 »
- 请问如何根据农历的春节时期得出公历的月份
- 冰天雪地跪地求教
- 求sqlserver xml語法解釋
- 请问这两种Sql执行方式哪种会更快
- 求一条SQL语句,把行1,2,3,4,5,6,7转换成列
- 很急的!各位帮个忙!存储过程里有多个“select ……”语句,怎样在查询分析器中只显示最后一个查询语句的查询结果?
- 建SQL数据表的问题...
- 在vfp表里一字段内容为:]>R)m'+ 不知道怎么输入的,方框代表什么?因为没有源程序,所以看不到代码(该字符是用程序加入的)是控制字符?
- 请问高手,SQL 除了监控外,有没有办法知道客户程序对数据库进行了什么操作????
- 如何取查询返回值?
- 如何判断表中是否有记录?
- 关于 SQL Server 2008 免费精简版(Express)的一些问题
max(case when month='1月' then date end) as [1月],
max(case when month='2月' then date end) as [2月],
...
max(case when month='12月' then date end) as [12月]
from (
select
id,name,month,date,(
select count(*) from tab where id=a.id and name=a.name and month=a.month and date<=a.date) as 序号
from tab a
) as t
group by id,name,序号
http://blog.csdn.net/parss/archive/2008/03/03/2142943.aspx
行列互转_整理贴3 [推荐]
http://topic.csdn.net/u/20080614/17/22e73f33-f071-46dc-b9bf-321204b1656f.html