【问题标题】:Questions with Pivot SQL Server关于 Pivot SQL Server 的问题
【发布时间】:2021-07-14 12:10:12
【问题描述】:

关于 Pivot SQL Server 的问题

大家早上好

我正在尝试使用 VALOR1 列和忽略 VALOR2 和 VALOR3 列的 sql 服务器对下表进行透视:

之前

之后

SqlQuery

    SELECT ANO
, [1] AS JANEIRO
         , [2] AS FEVEREIRO
         , [3] AS MARÇO

FROM VENDAANUAIS3 PIVOT (MAX(VALOR1)
FOR MES IN ([1],[2],[3]))P
ORDER BY 1;

问题是我意识到为了每年有一行,VALOR2 和 VALOR3 字段必须相等,有时它们必须不同,如下例所示:

我正在尝试每年做一行

是否可以执行一个每年总是返回一行的查询,而忽略列值 VALOR2 和 VALOR3?

感谢您的帮助

【问题讨论】:

    标签: sql sql-server pivot


    【解决方案1】:

    使用派生表或 cte 仅选择所需的列进行透视

     SELECT   ANO
            , [1] AS JANEIRO
            , [2] AS FEVEREIRO
            , [3] AS MARÇO
    
    FROM (
              SELECT ANO, MES, VALOR1
              FROM   VENDAANUAIS3 
         ) V
         PIVOT 
         (
              MAX(VALOR1)
              FOR MES IN ([1],[2],[3])
         ) P
    

    【讨论】:

      猜你喜欢
      • 2021-12-18
      • 2015-12-06
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      • 1970-01-01
      相关资源
      最近更新 更多