读书人

ACCESS有点难度的行列转换解决思路

发布时间: 2012-03-26 15:46:55 作者: rapoo

ACCESS有点难度的行列转换
表结构如下:
codemonthresult1result2result3
---------------------------------------------
张三month1a1a2a3
张三month2b1b2b3
李四month1c1c2c3
李四month2d1d2d3

需转换成以下格式:
code result month1 month2
----------------------------------------------
张三 result1 a1 b1
张三 result2 a2 b2
张三 result3 a3 b3
李四 result1 c1 d1
李四 result2 c2 d2
李四 result3 c3 d3

应该如何做呢?比较困扰。希望各位达人帮忙看看,拜谢!

[解决办法]

SQL code
select code,rc,    sum(iif([month]='month1', result1,0) as month1,    sum(iif([month]='month2', result1,0) as month2from(select code,'result1' as rc,[month],result1 from 表union allselect code,'result2' as rc,[month],result2 from 表union allselect code,'result3' as rc,[month],result3 from 表) group by code,rc
[解决办法]
transform max(result1)
select code,bz from
查询3 group by code,bz
pivot month

查询3
SELECT code,month,result1,'r1' as bz from tt5
union all
SELECT code,month,result2,'r2' from tt5
UNION ALL SELECT code,month,result3,'r3' from tt5;

读书人网 >Access

热点推荐