Hvis du bruger SQL Server 2005, kan du bruge kommandoen FOR XML PATH.
SELECT [VehicleID]
, [Name]
, (STUFF((SELECT CAST(', ' + [City] AS VARCHAR(MAX))
FROM [Location]
WHERE (VehicleID = Vehicle.VehicleID)
FOR XML PATH ('')), 1, 2, '')) AS Locations
FROM [Vehicle]
Det er meget nemmere end at bruge en markør, og det ser ud til at fungere ret godt.
Opdater
For alle, der stadig bruger denne metode med nyere versioner af SQL Server, er der en anden måde at gøre det på, som er lidt nemmere og mere effektiv ved at brugeSTRING_AGG
metode, der har været tilgængelig siden SQL Server 2017.
SELECT [VehicleID]
,[Name]
,(SELECT STRING_AGG([City], ', ')
FROM [Location]
WHERE VehicleID = V.VehicleID) AS Locations
FROM [Vehicle] V
Dette gør det også muligt at angive en anden separator som den anden parameter, hvilket giver lidt mere fleksibilitet i forhold til den tidligere metode.