如何在SQL查询USNIG Pivot中将列转换为行 [英] How to convert a column into row in sql query usnig pivot

查看:80
本文介绍了如何在SQL查询USNIG Pivot中将列转换为行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用查询select Size,ColorName,QNTY from tbl1.

我要得到下表

现在我要以以下格式获取表格

Now I want to get the table in following format

如何使用数据透视

推荐答案

尝试一下:

SELECT *
FROM (SELECT Size, ColorName, Qnty
      FROM YourTable)p
      PIVOT (SUM(Qnty) FOR Size IN ([34],[32],[30])Pvt

要获得动态数据透视,请使用以下查询:

In order to have dynamic pivot use following query:

DECLARE @columns NVARCHAR(1000) = '',
        @sql NVARCHAR(MAX)

SELECT @Columns = STUFF((SELECT ',['+Size+']'
                        FROM (SELECT DISTINCT Size FROM YourTable)z
                        FOR XML PATH('')),1,1,'')


SET @sql = 'SELECT * 
            FROM (SELECT Size, ColorName, Qnty
                  FROM YourTable)p
            PIVOT (SUM(Qnty) FOR Size IN ('+@columns+')Pvt'

EXECUTE(@sql)

这篇关于如何在SQL查询USNIG Pivot中将列转换为行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆