none
要实现这样的效果,SQL 语句怎么写呢? RRS feed

  • 问题

  • 假设有一个表

    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 (发件人:一般性问题讨论区)
    2010年6月2日 10:48

答案

  • 很遗憾,对于列数目不确定的,无法用一个sql语句达到这种效果。如果数据量不大,可以考虑用临时表/游标等手段处理。

    如果对于name的可能性确定,比如只有a-a6,那么可以用pivot语句实现。


    想不想时已是想,不如不想都不想。
    2010年6月3日 10:01
    版主
  • 一个动态列的案例,你也可以使用动态SQL构造来实现,如果版本是2000以上,可以用怡红公子提到的方法.


    http://blog.csdn.net/cn_sql
    2010年6月4日 6:42
    版主

全部回复

  • 很遗憾,对于列数目不确定的,无法用一个sql语句达到这种效果。如果数据量不大,可以考虑用临时表/游标等手段处理。

    如果对于name的可能性确定,比如只有a-a6,那么可以用pivot语句实现。


    想不想时已是想,不如不想都不想。
    2010年6月3日 10:01
    版主
  • 一个动态列的案例,你也可以使用动态SQL构造来实现,如果版本是2000以上,可以用怡红公子提到的方法.


    http://blog.csdn.net/cn_sql
    2010年6月4日 6:42
    版主