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
我想将以下 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