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