SELECT agenda.AgendaItemNumber,
Agenda.AgendaName,
AgendaType.AgendaTypeDescription,
STUFF(( SELECT ';' + FullName
FROM UserDetails
WHERE UserDetails.AgendaID = Agenda.AgendaID
FOR XML PATH('')
), 1, 1, '') AS fullName
FROM Agenda
INNER JOIN AgendaType
ON AgendaType.AgendaTypeID=Agenda.AgendaTypeID
INNER JOIN UserDetails
ON Agenda.AgendaID = Userdetails.AgendaID
WHERE agenda.AgendaTypeID = '2'
AND AgendaItemNumber = AgendaItemNumber
AND AgendaName = AgendaName
AND AgendaTypeDescription = AgendaTypeDescription
AND AgendaItemNumber >= '3'
ADENDUM
XML-udvidelsen i SQL-Server giver dig mulighed for at sammenkæde flere rækker i en enkelt række. Den egentlige hensigt med udvidelsen er, at du kan udskrive som XML (naturligvis), men der er nogle smarte tricks, der er biprodukter af udvidelserne. I ovenstående forespørgsel, hvis der var et kolonnenavn i underforespørgslen (FullName), ville det udsendes som
, fordi der ikke er noget kolonnenavn, sammenkæder den blot rækkerne (danner ikke korrekt XML). PATH
del giver dig mulighed for at angive en ekstra node, for eksempel hvis du bruger PATH('Navn') i ovenstående vil du få
Til sidst STUFF
fjerner bare semikolon i starten af listen.