你这个情况,不需要row to column,直接连接就出来了SELECT
T1.ID,T1.Display AS [2],T2.Display AS [3]
FROM TABLE1 T1 JOIN TABLE2 T2 ON T1.ID=T2.ID

解决方案 »

  1.   

    哈...我好白痴,都忘记直接用Inner Join
      

  2.   


    我忘记说明:-
    有个问题就是,这个2,3(username)是每次都不一样的,其实也不会有Table1,Table2,也就是说有时候会有5个username,有时候会有3个,有时候一个都没有。
      

  3.   

    DECLARE @SQL VARCHAR(8000)
    DECLARE @TABLEJOIN VARCHAR(8000)
    SET @SQL=''
    SELECT @SQL=@SQL+',MAX(CASE WHEN UserName='''+UserName+''' THEN Display END)['+UserName+']'
    FROM(SELECT UserName FROM Table1 UNION ALL SELECT UserName FROM Table2)T
    WHERE UserName IS NOT NULL
    GROUP BY UserName
    SET @SQL='SELECT ID'+@SQL+'FROM(SELECT * FROM Table1 UNION ALL SELECT * FROM Table2)T GROUP BY ID'
    PRINT @SQL
    EXEC(@SQL)如果你的UserName是字符串的话
      

  4.   


    需要点时间消化你的coding,非常好呢,我刚刚回到办公室,现在去测试,谢谢你的帮忙