web-dev-qa-db-ja.com

MS Accessクエリを使用して、複数の行のレコードを1つの行に結合しますか?

21列のテーブル(name-tbl2)がありますが、次のように一意の参照番号を使用して、複数の行レコードを1つの行に結合したいと思います。

テーブルフィールドとレコードタイプ

enter image description here

予想される結果:

enter image description here

この問題の解決を手伝ってください。

2

以下のクエリを試して問題を解決してください:

SELECT ID, STUFF(
     (SELECT ', ' + CAST(Item AS VARCHAR(20)) [text]
     FROM TBL12
     WHERE ID = t.ID
     FOR XML PATH(''), TYPE)
    .value('.','NVARCHAR(MAX)'),1,2,' ') Items
FROM TBL12 t
GROUP BY ID

投稿に多くのタグを追加したので、MSTUでSTUFFを使用して解決しました。
作業フィドル: http://sqlfiddle.com/#!3/d805d/4

2
Arulkumar

これは、Accessクエリで ConcatRelated() 関数を使用して最も簡単に実行できます。詳細については、スタックオーバーフローに関する次の質問を参照してください。

関連する行の値を1つの連結された文字列値に結合

1
Gord Thompson