首页新闻找找看学习计划

sqlserver 2005行转列问题?

0
悬赏园豆:15 [已解决问题] 解决于 2014-10-30 13:41

 表数据 (人员和款号为 主键)

人员     款号   celltest          希望得到

张三      A       张A                       A       B 

张三      B       张B            张三    张A     张B 

李四      A       李A            李四    李A     李B

李四      B       李B            王五    王A    NULL

王五      A       王A

夜星冷的主页 夜星冷 | 初学一级 | 园豆:71
提问于:2014-10-30 11:51
< >
分享
最佳答案
0

select * from table pivot (max(celltest) for 款号 in (A,B)) t

收获园豆:15
米修君 | 小虾三级 |园豆:553 | 2014-10-30 13:30

celltest 根本就不是数字,怎么max ?

夜星冷 | 园豆:71 (初学一级) | 2014-10-30 13:34

@夜星冷: 无所谓是不是数字,你用min也行啊,就是为了取出一个值而已,就像groub by必须聚合一下一样

米修君 | 园豆:553 (小虾三级) | 2014-10-30 13:36

@米修君: 谢谢哈,我一直以为max这里只能用数字才会成功呢,原来这样也是可以的,3q

夜星冷 | 园豆:71 (初学一级) | 2014-10-30 13:41
其他回答(1)
0

用交叉表查询可以实现

gltide | 园豆:403 (菜鸟二级) | 2014-10-30 13:27

那个说的再具体点吗?

支持(0) 反对(0) 夜星冷 | 园豆:71 (初学一级) | 2014-10-30 13:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册