ฉันกำลังพยายามย้ายแอพที่ใช้ 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 แบบตรง, ดังนั้นโปรดเข้าใจผิดด้วยคำอธิบายมากเกินไป :)