Certaines données de l'échantillon à tester avec:
DECLARE @Sample TABLE (ID INT, Name VARCHAR(15), Price INT)
INSERT @Sample
SELECT 1, 'Ford', 100 UNION ALL
SELECT 1, 'Cereal', 200 UNION ALL
SELECT 2, 'Fruits', 30 UNION ALL
SELECT 2, 'Fruits2',70 UNION ALL
SELECT 3, 'Soap', 40
SELECT * FROM @Sample
Et la requête serait:
SELECT s3.ID, Stf.Conc,
SUM(s3.Price) PriceSum
FROM @Sample s3 INNER JOIN (
SELECT DISTINCT s1.ID,
STUFF((SELECT ',' + s2.Name
FROM @Sample AS s2
WHERE s2.ID = s1.ID
FOR XML PATH('')), 1, 1, '') Conc
FROM @Sample s1) AS Stf
ON s3.ID = Stf.ID
GROUP BY s3.ID, Stf.Conc
Devoirs ou non, toujours une copie de [celui-ci] (http://stackoverflow.com/questions/3476186) ou [celui-là] (http://stackoverflow.com/questions/3476186) et [beaucoup plus ] (http://stackoverflow.com/search?q=concat%2Brows%2BCSV+%5Bsql-server%5D) – gbn