SQL SERVER 2017对应GROUP_CONCAT()

Corresponding GROUP_CONCAT() in SQL SERVER 2017

我想将以下 MYSQL 查询转换为 MS SQL 服务器。但是,我确定 GROUP_CONCAT 在 2017 年之前的 MS SQL Server 中不存在。SQL SERVER 2017 中有一个功能。有人可以帮助我吗?

SELECT region, GROUP_CONCAT(route_name) AS route_name 
FROM route_details 
LEFT JOIN ride_details ON route_id = r_id 
WHERE region != '' AND service_date = '2019-09-02' 
GROUP BY region

你想要string_agg()。语法有点不同(通常,分隔符是必需的,而在 MySQL 中默认为 ,,而 SQLServer 需要 within group 作为 order by ):

SELECT region, STRING_AGG(route_name, ',') AS route_name 
FROM route_details 
LEFT JOIN ride_details ON route_id = r_id 
WHERE region != '' AND service_date = '2019-09-02' 
GROUP BY region