解决方案 »

  1.   

    参考下
    http://bbs.csdn.net/topics/320053430
      

  2.   

    case when 加上行转列。 
      

  3.   

    这个是针对SQL2000的是吧?我们要求通用
      

  4.   

    这个很难。如果要求一条sql语句在各个数据库通用,就只能使用最基础的功能可以自己写一个函数来代替,这样在不同数据库中,SQL语句可能就不需要改动。比如你自定义一个sd_concat函数来代替wm_concat,但是该函数的创建在不同数据库里将会有很大不同
      

  5.   

    同意版主的建议.
    另外楼主用bw555发的链接上,sqlserver 2000的方法,基本上可以做成将来改到最小的.
      

  6.   

    各位大神,我这样行不行,在程序里面判断这是哪一个数据库,然后写不同的SQL行不行?
    然后还想让各位大神帮我提供一些方法,我知道了SQL Server 使用FOR XML的方式,MySQL使用 GROUP_CONCAT ,我现在觉得应该把Oracle的函数WMSYS.WM_CONCAT也替换掉,因为如果是11G就不能用了。另hsqldb、db2、sybase这三个数据库怎么办?这个sql写了四天了,快疯了
      

  7.   

    各位大神,我这样行不行,在程序里面判断这是哪一个数据库,然后写不同的SQL行不行?
    然后还想让各位大神帮我提供一些方法,我知道了SQL Server 使用FOR XML的方式,MySQL使用 GROUP_CONCAT ,我现在觉得应该把Oracle的函数WMSYS.WM_CONCAT也替换掉,因为如果是11G就不能用了。另hsqldb、db2、sybase这三个数据库怎么办?这个sql写了四天了,快疯了
    真的需要支持这么多数据库吗?呵~各数据库的sql在语法上可有很多不一样的地方,呵~