【问题标题】:How to pivot text fields into one in SQL Server? [duplicate]如何在 SQL Server 中将文本字段转换为一个? [复制]
【发布时间】:2016-06-22 12:39:52
【问题描述】:

举个简单的例子

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

【问题讨论】:

    标签: sql-server sql-server-2012 pivot


    【解决方案1】:
    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2023-03-23
      • 2011-06-01
      • 1970-01-01
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多