私は2つのテーブルを持っています。ID、タグの 2 つの列があります。tags 列は、タグ値のコンマ区切りリストです。
2 番目のテーブルには、2 つの列もあります。1 つはタグのリストで、それぞれが独自の行にあり、2 番目の列はそのタグのラベルです。
私がする必要があるのは、リストに対応するタグ値を持つ ID ごとに、セミコロンで区切られたタグ ラベルのリストを使用して、各 ID の出力クエリを作成することです。
2 つのテーブルの短い例を次に示します。
Table1 -
ID---Tags
1---tag1,tag2,tag3,tag6
2---tag2,tag4,tag5
3---tag3,tag8,tag9,tag10
4---tag1,tag2,tag6
5---tag1,tag4,tag5
Table2 -
tagname---taglabel
tag1--- Nice Name Tag1
tag2--- Nice Name Tag2
tag3--- Nice Name Tag3
tag4--- Nice Name Tag4
tag5--- Nice Name Tag5
tag6--- Nice Name Tag6
tag7--- Nice Name Tag7
tag8--- Nice Name Tag8
tag9--- Nice Name Tag9
tag10--- Nice Name Tag10
望ましい結果セット -
ID---TagsNames
1---Nice Name Tag1,Nice Name Tag2,Nice Name Tag3,Nice Name Tag6
2---Nice Name Tag2,Nice Name Tag4,Nice Name Tag5
3---Nice Name Tag3,Nice Name Tag8,Nice Name Tag9,Nice Name Tag10
4---Nice Name Tag1,Nice Name Tag2,Nice Name Tag6
5---Nice Name Tag1,Nice Name Tag4,Nice Name Tag5
その結果セットを取得して行を連結できると考えて、最初の結合用のクエリを設定しようとしましたが、部分結合を機能させることができないようです。そのクエリは次のとおりです。
SELECT gt.id as g
,gt.tags as tg
,tt.HitTagName as ht
,tt.termlabel as tl
FROM tblidtags gt (nolock)
JOIN tbltaglabels tt (Nolock) ON gt.tg like '%' + tt.ht + '%'
どんな提案でも大歓迎です!