我有3张表格如下
JobPost_Master1_UT
JobPost_ID JobPost_Name
----------- -----------
1 .Net Developer
2 Java Developer
Skillset_Master_UT
Skill_ID SkillName
----------- -----------
1 Javascript
2 Bootstrap
3 HTML
4 .Net MVC
5 JSP
JobPost_Skill
JobPost_ID Skill_ID
----------- -----------
1 1
1 2
1 3
2 3
2 5
我想要这个结果
JobPost_ID SkillName
----------- -----------
1 Javascript,Bootstrap,HTML
2 HTML,JSP
我正在尝试这个
DECLARE @SkillName VARCHAR(1000)
SELECT @SkillName = COALESCE(@SkillName ,'') + SkillName + ','
FROM JobPost_Skill
left outer join Skillset_Master_UT
on Skillset_Master_UT.Skill_ID =JobPost_Skill.Skillset_ID
left outer join JobPost_Master1_UT
on JobPost_Skill.JobPost_ID =JobPost_Master1_UT.JobPost_ID
group by JobPost_Master1_UT.JobPost_ID, @SkillName
但它给了我以下结果
SkillName
-----------
1 Javascript,Bootstrap,HTML,HTML,JSP
答案 0 :(得分:0)
您必须使用以下
之类的查询SELECT JobPost_ID , STUFF((SELECT ',' + T1.Skillname
FROM Skillset_Master_UT T1 INNER JOIN
JobPost_Skill T2 ON T1.Skill_ID = T2.Skill_ID
WHERE T2.JobPost_ID = TBL.JobPost_ID
FOR XML PATH('')),1,1,'') as Skillname
FROM JobPost_Master1_UT TBL