我有两张桌子。一列有 2 列 - ID、标签。标签列是一个逗号分隔的标签值列表。
我的第二个表,也有两列。一个是标签列表,每个标签都在自己的行中,第二列是该标签的标签。
我需要做的是为每个 ID 创建一个输出查询,并使用分号分隔的标签标签列表,为每个 ID 在其列表中具有相应的标签值。
这是两个表的简短示例:
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 + '%'
任何建议都非常感谢!