sql >> データベース >  >> RDS >> Sqlserver

SQL:文字列をまとめる

    WITH Data AS (
        SELECT 1 UserId, 'A' Code 
        UNION ALL 
        SELECT 1, 'C5'
        UNION ALL 
        SELECT 1, 'X'
        UNION ALL 
        SELECT 2, 'V3'
        UNION ALL 
        SELECT 3, 'B'
        UNION ALL 
        SELECT 3, 'D'
        UNION ALL 
        SELECT 3, NULL
        UNION ALL 
        SELECT 3, 'F4'
        UNION ALL 
        SELECT 4, NULL
    )
    SELECT U.UserId, STUFF((
        SELECT ','+Code FROM Data WHERE Data.UserID = U.UserID FOR XML PATH('')
    ), 1, 1, '') Code 
    FROM (SELECT DISTINCT UserID FROM Data) U
    

    Data を置き換えるだけです テーブル名に CTE を付ければ完了です。



    1. クエリのパフォーマンスの違いpl/sqlforallinsertとplainSQLinsert

    2. SQLに複数の行を挿入中にエラーが発生する

    3. 4データベース管理者向けのすばらしいSQLServer監視リソース

    4. Oracle DML table_reference用のパーサーはありますか?