--表A结构编号 名称 别名
BY-002 白兰花园 白兰一街
BY-002 白兰花园 白兰五街
BY-002 白兰花园 白兰四街
BY-002 白兰花园 白兰三街
BY-002 白兰花园 白兰六街
BY-002 白兰花园 白兰花园
BY-002 白兰花园 白兰二街
BY-002 白兰花园 白兰一街,白兰二街,白兰三街,白兰四街,白兰六街,白兰五街--表B结构编号 名称 别名1 别名2 别名3 别名4 别名5 别名6 别名7 别名8
BY-002 白兰花园 白兰一街 白兰五街 白兰四街 白兰三街 白兰六街 白兰花园 白兰二街 白兰一街,白兰二街,白兰三街,白兰四街,白兰六街,白兰五街现在为实现2张表之间的互转功能已经实现 但是由于数据量大 有40W条数据
测试时间为100条5秒  求时间相对快一点的方法

解决方案 »

  1.   


    declare @sql nvarchar(max)
    set @sql='SELECT 编号,名称'
    Select @sql=@sql+',min(case when 别名='''+别名+ ''' then 别名 end) As ''别名''' from 表A 
    set @sql=@sql+' from 表A group by 编号,名称'
    Print @sql
    execute sp_executesql @sql这样结果会有很多如何并一来呢?
      

  2.   

    难道楼主需要一下在一个界面里显示40W条数据?!没必要吧,例如先top 100,然后行转列就快很多了.