繁体   English   中英

具有多个标头的SQL Pivot

SQL Pivot with multiple header

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在使用SP中的多个标头进行数据透视。 我将日期分为3列(WLQ,TQ和FLQ)。

旋转后的问题是该列按组显示。 示例输出为: (12-4_WLQ, 13-4_WLQ, 14-4_WLQ, 12-4_TQ, 13-4_TQ, 14-4_TQ, 12-4_FLQ, 13-4_FLQ, 14-4_FLQ)

我想如何按如下日期显示输出: (12-4_WLQ, 12-4_TQ, 12-4_FLQ, 13-4_WLQ, 13-4_TQ, 13-4_FLQ, 14-4_WFLQ, 14-4_TQ, 14-4_FLQ)

这是我的代码:

ALTER PROCEDURE [dbo].[EXEC_DATETM_SP]

AS

BEGIN

SET NOCOUNT ON;

DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
    DECLARE @startdt DATETIME, @enddt DATETIME, @QueryCol NVARCHAR(MAX), @QueryCol2 NVARCHAR(MAX), @QueryCol3 NVARCHAR(MAX)
SET @startdt = '04/12/2018'
SET @enddt = '04/17/2018'

WHILE @startdt <= @enddt
BEGIN
    SET @QueryCol=isnull(@QueryCol, '')+QUOTENAME(convert(nvarchar(20), @startdt, 101)+'_WLQ')+(CASE WHEN @startdt<>@enddt THEN ',' ELSE '' END)
    SET @QueryCol2=isnull(@QueryCol2, '')+QUOTENAME(convert(nvarchar(20), @startdt, 101)+'_TQ')+(CASE WHEN @startdt<>@enddt THEN ',' ELSE '' END)
    SET @QueryCol3=isnull(@QueryCol3, '')+QUOTENAME(convert(nvarchar(20), @startdt, 101)+'_FLQ')+(CASE WHEN @startdt<>@enddt THEN ',' ELSE '' END)

    SET @startdt =  @startdt + 1
END
    set @DynamicPivotQuery=
    N'
    select 
    [KT_HYOU_NAME],
    [KT_KEIRO_NAME],
    [KT_GUN_NO],
    [TUKA_JUN],
    [KT_CD],
    [SG_KU_CD],
    ' + @QueryCol + ',
    ' + @QueryCol2 + ',
    ' + @QueryCol3 + '
        from 
    (
        SELECT * FROM V_DATEBYWLQ
    )s
    pivot (sum (WORK_LOT_QTY) for 
    [EXEC_DATETMM] in ('+@QueryCol+')) as AvgWidgetsPerDayPerEmp
    pivot (sum (TARGET_QTY) for 
    [EXEC_DATETMN] in ('+@QueryCol2+')) as AvgWidgetsPerDayPerEmp2
    pivot (sum (FIN_LOT_QTY) for 
    [EXEC_DATETMO] in ('+@QueryCol3+')) as AvgWidgetsPerDayPerEmp3
    '
EXEC sp_executesql @DynamicPivotQuery
END
GO
问题暂未有回复.您可以查看右边的相关问题.
1 Oracle SQL-具有多个标头的条件聚合枢纽

这个问题是我以前的帖子的增强版本,希望我能在这里得到一些帮助。 我在下表/视图中有示例或虚拟数据: TABLE / VIEW名称: CUST_HOTEL_VIEW 需要帮助以获取低于带有多个标题的输出,即获取客户数和每家酒店的预算总和(以下是excel数据透视表的输出): ...

2 具有动态标头的SQL PIVOT

我有一个来自女巫的具有以下结构的SQL数据库表,我想为我的用户提供以垂直或水平方式导出数据的选项。 上表是垂直出口。 MEA_DateTime , PTR_ID , EXP_ID和DUN_ID的每种组合都是唯一的,因此给定组合始终只能有1行。 我要完成的工作是水平旋转DUN_ID ...

4 SQL Pivot具有多个值

您好,我有一个像这样的表: 我需要像这样旋转它: 我尝试了SQL Pivot,但是由于它需要聚合,因此对于给定的类别,它仅返回1个属性。 还有另一种方法吗? 这是我的数据透视SQL: ...

5 sql数据透视表具有多个分组

我有一张这样的桌子: 输出应为: 基本上,每个员工的膳食类型可以具有不同的值,但一天中可以具有多种膳食类型。 重要的一点是,员工的所有进餐类型都应该在o / p中组合在一起,并且所有具有价值的进餐类型都应该向上移动。 提前致谢。 ...

6 具有多列的SQL Pivot

需要有关sql server 2008中的pivot子句的帮助。我有一个包含此信息的表: 我想将其转换为如下所示的表: 是否有任何关于透视查询的方法? 请写一个关于如何做的回答。 我很感激这方面的任何帮助。 提前致谢。 ...

7 多列上的 SQL Pivot

我有一个查询,我在哪里提取赔率和足球结果: 这将返回如下结果: 我希望获得数据更具可读性并且每个喜欢都在一行上的结果,例如: 我一直在尝试以多种不同的方式对数据进行透视,但似乎无法在 SQL 中获取它。 有谁知道上面的布局是否可以完成? 谢谢。 ...

8 SQL:枢转多个表

我有两张桌子 表A 表B 不幸的是,表A和B中的列名称相同-导致错误8156-多次指定了“ Qualification”列。 我的选择如下 TIA! ...

9 具有多个联接的SQL Pivot

SQL Pivot命令似乎至少很难。 我已经阅读了很多有关该查询的信息,并且花了一段时间,但是我得到的实际上只是模糊的错误消息,它们无济于事,例如“列名'Id'被多次指定..”或“多部分标识符X不能绑定。” 我们的数据库收集客户对问题的答案。 我想创建一个表,其中包含每个客户端的行,以 ...

10 SQL Multiple Pivot

我在Microsoft SQL Server( table A )中设置了以下数据,并尝试在ID_1和ID_2列上进行数据透视。 我可以在一个列上旋转,但是在连接的列上旋转很难。 任何帮助将不胜感激。 我所拥有的( table A ): 我需要什么( table B ): ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM