FOR XML PATH és GROUP_CONCAT

Ha egy oszlop adatait egyetlen sorként szeretnénk vissza kapni, akkor lesz szükségünk ezekre a függvényekre.

MYSQL

GROUP_CONCAT fügvénnyel lehet mysql-ben. A példában egy fórumban a felhasználók hozzászólásait listázzuk ki pontosvesszővel elválasztva.

SELECT Users.UserName, GROUP_CONCAT(Posts.PostContent SEPARATOR ";") FROM Users 
INNER JOIN Posts ON Posts.UserID = Users.ID
GROUP BY Users.UserName

MSSQL

A FOR XML PATH-ra lesz szükségünk:

SELECT Users.UserName,
 (SELECT ';'   Posts.PostContent FROM Posts WHERE Posts.UserID = Users.ID FOR XML PATH(''))
 FROM Users 

A STUFF Függvény pedig azért kell, hogy a legelső szeparáló karaktert levágjuk:

SELECT Users.UserName,
 STUFF((SELECT ';'   Posts.PostContent FROM Posts WHERE Posts.UserID = Users.ID FOR XML PATH('')),1,1,'')
FROM Users 
Facebook Comments