0

あたりのSQL Server 2014年にカンマ区切りで連結します。ユーザーIDごとにselectステートメントの両方のテーブルから連結するために、一意のSkill値が必要です。 String_AggはSQL Server 2014では機能しませんので、XML PATHを使用してみました。ユニークな値は、私は、SQL Server 2014での2つのテーブルを持っているID

期待出力のために添付のスクリーンショットをご覧ください:ここでは

enter image description here

は、SQLフィドルはそれのためである:SQL Fiddle

私は以下のXML PATHのクエリを使用しています

SELECT 
    User_, Products + Skill 
FROM 
    (SELECT DISTINCT 
     User_, Skill, 
     (SELECT DISTINCT rs.Skill + ',' 
      FROM dbo.current_entry u 
      INNER JOIN dbo.data_by_client rs ON u.User_ = rs.User_ 
      WHERE rs.User_ = r.User_ 
      FOR XML PATH('')) AS Products 
    FROM  
     dbo.current_entry r) l 

予想される出力が得られないため、私は問題に直面しています。

答えて

0

follを使用してソリューションを試してみることはできますか?アプローチ:

SELECT 
    t1.user, 
    Item = stuff((SELECT (', ' + skill) 
         FROM #string_test t2 
         WHERE t1.user = t2.user 
         ORDER BY 1 
         FOR XML PATH('') 
        ), 1, 1, '')FROM #string_test t1 
GROUP BY user 

参考:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/4ac19fe5-be05-479f-bcc2-8fdfa6c1ae1f/pivot-string-concatenation?forum=transactsql

あなたはその後、重複を削除するには、カスタムSQL関数を使用することができます。 http://blog.sqlauthority.com/2009/01/15/sql-server-remove-duplicate-entry-from-comma-delimited-string-udf/amp/

+0

を参照してください。 – user1538020

関連する問題