积极答复者
要实现这样的效果,SQL 语句怎么写呢?

问题
-
假设有一个表
id name
1 a
1 a2
1 a3
1 a4
2 a5
2 a6我要得到这样的效果:
id name name name .....
1 a a2 a3 ....
2 a5 a6........
sql 语句怎么写呢?
仰天大笑出门去,我辈岂是蓬蒿人- 已移动 Sheng Jiang 蒋晟 2010年6月3日 2:28 (发件人:一般性问题讨论区)
答案
-
很遗憾,对于列数目不确定的,无法用一个sql语句达到这种效果。如果数据量不大,可以考虑用临时表/游标等手段处理。
如果对于name的可能性确定,比如只有a-a6,那么可以用pivot语句实现。
想不想时已是想,不如不想都不想。- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年6月10日 5:21
-
一个动态列的案例,你也可以使用动态SQL构造来实现,如果版本是2000以上,可以用怡红公子提到的方法.
http://blog.csdn.net/cn_sql- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年6月10日 5:21
全部回复
-
很遗憾,对于列数目不确定的,无法用一个sql语句达到这种效果。如果数据量不大,可以考虑用临时表/游标等手段处理。
如果对于name的可能性确定,比如只有a-a6,那么可以用pivot语句实现。
想不想时已是想,不如不想都不想。- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年6月10日 5:21
-
一个动态列的案例,你也可以使用动态SQL构造来实现,如果版本是2000以上,可以用怡红公子提到的方法.
http://blog.csdn.net/cn_sql- 已标记为答案 Nai-dong Jin - MSFTModerator 2010年6月10日 5:21