把每列中最大的数据合并一行

    1. /** 
    2. QS:在mssqlserver2000中一个表中有两条记录
    3. a,a,0,0,b,0,c,0
    4. 0,0,b,0,0,d,0,0
    5. 如何将这两条记录合并为
    6. a,a,b,0,b,d,c,0
    7. **/
    8. /*AS:-sql05*/
    9. --建立测试表
    10. Create TABLE # (id1 varchar(10), id2 varchar(10),id3 varchar(10),
    11. id4 varchar(10),id5 varchar(10),id6 varchar(10),id7 varchar(10),id8 varchar(10) )
    12. INSERT # SELECT 'a','a','0','0','b','0','c','0'
    13. UNION ALL SELECT '0','0','b','0','0','d','0','0'
    14. --
    15. select * from #
    16. /*
    17. id1 id2 id3 id4 id5 id6 id7 id8
    18. a   a   0   0   b   0   c   0
    19. 0   0   b   0   0   d   0   0
    20. */
    21. --
    22. select max(id1) id1,
    23.             max(id2) id2,
    24.                 max(id3) id3,
    25.                     max(id4) id4,
    26.                         max(id5) id5,
    27.                             max(id6) id6,
    28.                                 max(id7) id7,
    29.                                     max(id8) id8
    30. from #
    31. /*
    32. id1 id2 id3 id4 id5 id6 id7 id8
    33. a   a   b   0   b   d   c   0
    34. */
原文地址:https://www.cnblogs.com/accumulater/p/6101166.html