如何在 SQL 服务器中将文本字段转换为一个?
How to pivot text fields into one in SQL Server?
给定以下简单示例
create table #example (
ProductID int,
ProductName varchar(100),
CustomerID int
)
insert #example values
(1,'Product 1',100),
(2,'Product 2',100),
(3,'Product 3', 101),
(3,'Product 3', 102)
我想查看包含 CustomerID、ProductNamesBought 的结果集,其中产品以逗号分隔。例如
CustomerID ProductNamesBought
========== ====================
100 Product 1, Product 2
101 Product 3
102 Product 3
SELECT e.CustomerID,
STUFF((SELECT ','+ProductName FROM #example WHERE e.CustomerID = CustomerID FOR XML PATH('')),1,1,'') as ProductNamesBought
FROM #example e
GROUP BY e.CustomerID
输出:
CustomerID ProductNamesBought
100 Product 1,Product 2
101 Product 3
102 Product 3
给定以下简单示例
create table #example (
ProductID int,
ProductName varchar(100),
CustomerID int
)
insert #example values
(1,'Product 1',100),
(2,'Product 2',100),
(3,'Product 3', 101),
(3,'Product 3', 102)
我想查看包含 CustomerID、ProductNamesBought 的结果集,其中产品以逗号分隔。例如
CustomerID ProductNamesBought
========== ====================
100 Product 1, Product 2
101 Product 3
102 Product 3
SELECT e.CustomerID,
STUFF((SELECT ','+ProductName FROM #example WHERE e.CustomerID = CustomerID FOR XML PATH('')),1,1,'') as ProductNamesBought
FROM #example e
GROUP BY e.CustomerID
输出:
CustomerID ProductNamesBought
100 Product 1,Product 2
101 Product 3
102 Product 3