2
的情况是有课程和讲师,他们有一个多对多的关系(1当然可以有很多讲师,讲师1人可以教多门课程)如何在sql server 2008中为多对多关系生成嵌套的XML?
下面的XML重复课程名称:
SELECT
C.COURSE_ID "@course_id"
, C.COURSE_NAME "Course_Name"
--get lecturer id(s) of the course
, CL.LECTURER_ID
FROM
COURSE C LEFT JOIN COURSE_LECTURER CL ON C.COURSE_ID = CL.COURSE_ID
--LEFT JOIN AS ALL COURSES DON'T HAVE LECTURERS COULD BE INNER :)
FOR XML PATH('Course'), ROOT('Program')
它给我下面的输出(片段):
<Course course_id="ISFND 1.1">
<Course_Name>Relational Databases and SQL</Course_Name>
<LECTURER_ID>ME123</LECTURER_ID>
</Course>
<Course course_id="ISFND 1.1">
<Course_Name>Relational Databases and SQL</Course_Name>
<LECTURER_ID>HS123</LECTURER_ID>
</Course>
但我想输出是:
<Course course_id="ISFND 1.1">
<Course_Name>Relational Databases and SQL</Course_Name>
<LECTURER_ID>ME123</LECTURER_ID>
<LECTURER_ID>HS123</LECTURER_ID>
</Course>
我想在我的sql中有很多问题,可能是我需要使用IN或其他类似的东西。任何帮助将不胜感激。谢谢。
Course_Lecturer是课程和讲师之间的关系表,因为它是多对多的关系。 – Geshan 2011-04-30 21:19:47