MSSQL-文字列分離とカラムレコードを1行に統合して使用

978 ワード

一般的にはデータベースのテーブルフィールドに辞書Idを格納し、複数ある場合は区切り記号(12,14)で区切られ、リスト表示時に辞書名が表示されますが、データベースで辞書Idをユーザーが理解できる辞書名に変換するにはどうすればいいのでしょうか.
このとき,前述した文字列分離(Split関数)とカラムレコードを1行に統合する2つの文章を組み合わせて,上記の機能を達成することができる.
 
SELECT  STUFF(( SELECT  ',' + d.Name
                FROM    dbo.fn_SplitStr(feild, ',') AS s
                JOIN    dbo.tb_Dictionary AS d ON d.ID = s.ID
              FOR
                XML PATH('')
              ), 1, 1, '')
FROM    table1

FOR XML PATH(')の役割とSTUFF、dboが不明である.fn_SplitStr関数は本論文で述べた2つの文章を見ることができる.