Ситуация такова, что есть курсы и лекторы, и у них много-много связей (1 курс может иметь много лекторов, 1 лектор может преподавать много курсов)
Следующий 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 или что-то подобное для каждого. Любая помощь будет оценена. Спасибо.