Я пытаюсь перенести приложение на основе MySQL на Microsoft SQL Server 2005 (не по выбору, но это жизнь).
В исходном приложении мы использовали почти полностью совместимые с ANSI-SQL операторы, за одним существенным исключением - мы довольно часто использовали функцию group_concat
MySQL.
group_concat
, кстати, делает это: учитывая таблицу, скажем, имен сотрудников и проектов ...
SELECT empName, projID FROM project_members;
возвращается:
ANDY | A100
ANDY | B391
ANDY | X010
TOM | A100
TOM | A510
... и вот что вы получите с group_concat:
SELECT
empName, group_concat(projID SEPARATOR ' / ')
FROM
project_members
GROUP BY
empName;
возвращается:
ANDY | A100 / B391 / X010
TOM | A100 / A510
Итак, я хотел бы знать следующее: возможно ли написать, скажем, пользовательскую функцию в SQL Server, которая эмулирует функциональность group_concat
?
У меня почти нет опыта использования UDF, хранимых процедур или чего-то в этом роде, просто прямой SQL, поэтому, пожалуйста, ошибитесь в стороне от слишком большого количества объяснений:)