开发者社区> 问答> 正文

SQL Server从记录创建标题字段

Name   StockName     Amount
---------------------------
John   Product 1     40
John   Product 2     20
Mary   Product 1     10
Mary   Product 2     50
Mary   Product 3     9

我当前的记录如上所示。我要列出的内容如下:

Name    Product 1 Product 2   Product 3
---------------------------------------
John    40         20          0
Mary    10         50          9
可以使用T-SQL查询吗?

展开
收起
祖安文状元 2020-01-04 15:54:57 456 0
1 条回答
写回答
取消 提交回答
  • 只是因为我没有看到动态枢轴

    Declare @SQL varchar(max) = '
    Select *
     From  YourTable A
     Pivot (sum([Amount]) For [StockName] in (' + Stuff((Select Distinct ','+QuoteName(StockName) 
                                                   From  YourTable A  
                                                   Order By 1 
                                                   For XML Path('')),1,1,'')  + ') ) p'
    --Print @SQL
    Exec(@SQL)
    
    

    退货

    Name    Product 1   Product 2   Product 3
    John    40          20          NULL
    Mary    10          50          9
    
    2020-01-04 15:55:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载