Я пытаюсь перенести приложение на основе MySQL на Microsoft SQL Server 2005 (не по своему выбору, а на то, что жизнь).
В исходном приложении мы использовали почти полностью совместимые с ANSI-SQL операторы, с одним существенным исключением - мы часто использовали функцию MySQL group_concat
.
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, поэтому, пожалуйста, перепутайте слишком много объяснений:)