Я пытаюсь перенести приложение на основе 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, поэтому, пожалуйста, ошибитесь в стороне от слишком большого количества объяснений :)