网站建设企业关键词,可以在线做试卷的网站,3d建模一般学多久,wordpress千万数据优化在 SQL Server 中#xff0c;可以使用 STRING_AGG 函数#xff08;SQL Server 2017 及更高版本支持#xff09;将分组的其他字段数据拼接成一条数据。以下是示例代码#xff1a;
假设有一个表 Orders#xff0c;结构如下#xff1a;
OrderIDCustomerIDProduct1C001Appl…在 SQL Server 中可以使用 STRING_AGG 函数SQL Server 2017 及更高版本支持将分组的其他字段数据拼接成一条数据。以下是示例代码
假设有一个表 Orders结构如下
OrderIDCustomerIDProduct1C001Apple2C001Banana3C002Orange4C002Grape5C001Mango
需要按照 CustomerID 分组将每个客户的产品Product 字段拼接到一起。
使用 STRING_AGG
SELECT CustomerID,STRING_AGG(Product, , ) AS Products
FROM Orders
GROUP BY CustomerID;输出
CustomerIDProductsC001Apple, Banana, MangoC002Orange, Grape
说明
STRING_AGG(字段, 分隔符)将组内数据按指定的分隔符拼接成字符串。 GROUP BY按 CustomerID 分组。
如果是 SQL Server 2016 或更早版本
可以使用 FOR XML PATH 方法
SELECT CustomerID,STUFF((SELECT , ProductFROM Orders AS OWHERE O.CustomerID Orders.CustomerIDFOR XML PATH(), TYPE).value(., NVARCHAR(MAX)), 1, 2, ) AS Products
FROM Orders
GROUP BY CustomerID;说明
FOR XML PATH(‘’)将数据转换为 XML 格式但不加根节点。 STUFF用于移除多余的逗号第一个字符。