- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:sql serverでgroup concat)
SQL SERVERでGROUP CONCATと同等の結果を取得する方法
このQ&Aのポイント
- SQL SERVERを使用してGROUP CONCATと同等の結果を取得する方法について調査しました。
- 以下のcolumn1のテーブル名の値を条件を指定して、カンマ区切りの文字列で取得するためには、FOR XML PATH('')を使用します。
- しかしながら、この方法では区切り文字を指定することができません。カンマ区切りで取得するためには、どのような方法を使用するか検討しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SELECT REPLACE(REPLACE(REPLACE( (SELECT my_column AS A_Z FROM my_table FOR XML PATH('')) ,'</A_Z><A_Z>',','),'<A_Z>',''),'</A_Z>','') の方が良いかも。
その他の回答 (1)
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
回答No.1
質問のFOR XML PATH('')をヒントにSQLを作ってみました。 SELECT REPLACE(REPLACE( LEFT((SELECT my_column AS A_Z FROM my_table FOR XML PATH('')) ,LEN((SELECT my_column AS A_Z FROM my_table FOR XML PATH('')) )-6),'<A_Z>',''),'</A_Z>',',') でどうでしょうか。
お礼
ありがとうございます!無事解決いたしました。