首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL Server: PIVOTing字符串数据示例

SQL Server: PIVOTing字符串数据示例
EN

Stack Overflow用户
提问于 2008-08-23 18:36:34
回答 6查看 194.3K关注 0票数 129

试图找到一些简单的SQL Server PIVOT示例。我发现的大多数例子都涉及到对数字进行计数或求和。我只想旋转一些字符串数据。例如,我有一个查询返回以下内容。

代码语言:javascript
复制
Action1 VIEW  
Action1 EDIT  
Action2 VIEW  
Action3 VIEW  
Action3 EDIT  

我想使用PIVOT (如果可能的话)来实现如下结果:

代码语言:javascript
复制
Action1 VIEW EDIT  
Action2 VIEW NULL  
Action3 VIEW EDIT  

使用PIVOT功能可以做到这一点吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-09-02 19:55:19

请记住,MAX聚合函数将对文本和数字起作用。这个查询只需要扫描一次表。

代码语言:javascript
复制
SELECT Action,
       MAX( CASE data WHEN 'View' THEN data ELSE '' END ) ViewCol, 
       MAX( CASE data WHEN 'Edit' THEN data ELSE '' END ) EditCol
 FROM t
 GROUP BY Action
票数 167
EN

Stack Overflow用户

发布于 2008-09-02 20:52:48

如果您特别想要使用SQL Server PIVOT函数,那么假设您的两个原始列分别称为act和cmd,则此函数应该可以工作。(虽然看起来不是那么漂亮。)

代码语言:javascript
复制
SELECT act AS 'Action', [View] as 'View', [Edit] as 'Edit'
FROM (
    SELECT act, cmd FROM data
) AS src
PIVOT (
    MAX(cmd) FOR cmd IN ([View], [Edit])
) AS pvt
票数 53
EN

Stack Overflow用户

发布于 2011-08-27 17:12:47

来自http://blog.sqlauthority.com/2008/06/07/sql-server-pivot-and-unpivot-table-examples/

代码语言:javascript
复制
SELECT CUST, PRODUCT, QTY
FROM Product) up
PIVOT
( SUM(QTY) FOR PRODUCT IN (VEG, SODA, MILK, BEER, CHIPS)) AS pvt) p
UNPIVOT
(QTY FOR PRODUCT IN (VEG, SODA, MILK, BEER, CHIPS)
) AS Unpvt
GO
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档