【问题标题】:SQL PIVOT not showing NULL resultsSQL PIVOT 未显示 NULL 结果
【发布时间】:2017-12-14 08:21:19
【问题描述】:

我有一个要 PIVOT 的交易表(按月计算的数量)。下面的查询执行得很好,但它排除了 Tx 表中没有值(并且不存在)的项目。我首先使用了 GIP 表(所有项目的完整列表以及每个项目的各种信息),然后将 Tx 表加入其中,但这不起作用。我还尝试了 LEFT OUTER JOIN 并将 NULL 限定符添加到 WHERE 子句中。 如果有人可以按顺序将其转换为月份的动态查询,则将获得奖励。

SELECT 
   CAST([item_no] AS INT) 'IMF',
   [1] AS 'Jan',
   [2] AS 'Feb',
   [3] AS 'Mar',
   [4] AS 'Apr',
   [5] AS 'May',
   [6] AS 'Jun',
   [7] AS 'Jul',
   [8] AS 'Aug',
   [9] AS 'Sep',
   [10] AS 'Oct',
   [11] AS 'Nov',
   [12] AS 'Dec'
FROM 
   (SELECT
          GIP.[Station__No],
          GIP.[generic_inventory],
          GIP.[item_no],
          (Tx.[Quantity]*-1) Qty,
          MONTH(Tx.[Date_Posted]) TMonth
    FROM
    [Surgery].[genericx_inventory_item_445_01] GIP
    LEFT JOIN [CDWWork].[IFCAP].[inventory_transaction_445_2] Tx ON Tx.[station__no] = GIP.[station__no] AND Tx.[Inventory_Point] = GIP.[generic_inventory] AND GIP.[Itemnox] = Tx.[Item_no]

   where GIP.[Station__no] = 658
   and Tx.[Date_Posted] >= '7/01/16'
   and Tx.[Date_Posted] <= '6/30/17'
   and GIP.[generic_inventory] = 623
   ) As x
PIVOT
( 
   SUM(Qty)
   FOR TMonth
   IN( [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])
)P

【问题讨论】:

    标签: sql join dynamic pivot


    【解决方案1】:

    这与枢轴无关您的LEFT JOIN 是错误的。 second 表的条件需要在ON 子句中:

    FROM [Surgery].[genericx_inventory_item_445_01] GIP LEFT JOIN
         [CDWWork].[IFCAP].[inventory_transaction_445_2] Tx
         ON Tx.[station__no] = GIP.[station__no] AND
            Tx.[Inventory_Point] = GIP.[generic_inventory] AND
            GIP.[Itemnox] = Tx.[Item_no] AND
            Tx.[Date_Posted] >= '2016-07-01' AND
            Tx.[Date_Posted] <= '2017-06-30'
    WHERE GIP.[Station__no] = 658 AND GIP.[generic_inventory] = 623
    

    当您使用它时,您应该使用标准日期格式。不那么模棱两可(并且更容易阅读;)。

    【讨论】:

    • 是的,确实如此!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2022-10-20
    • 2019-05-10
    相关资源
    最近更新 更多