1
我想提出一个条件,如果[2015]
和[2016]
为NULL,然后隐藏行, ,但我不能把它关闭。数据透视表如何不允许多列中的空值
我对billname
没有兴趣,如果它没有数据。
SELECT
IssuedByUserGroup,
BILLNAME,
SUM([2016]) AS [2016],
SUM([2015])AS [2015]
FROM Sum_Orders
PIVOT
(
SUM(Sum_SellPrice)
FOR OrderperiodYear IN ([2016],[2015])
) AS pvt
WHERE ((MONTH(OrderDate) = MONTH(GETDATE())
AND day(OrderDate) <= DAY(GETDATE())) OR MONTH(OrderDate) < MONTH(GETDATE()))
--This part above is just for getting the data since january 1 to sep 23(to the date)
AND OrderStatus in ('Complete','invoiced')
AND OrderPrefix IN ('LAX6')
GROUP BY BILLNAME,IssuedByUserGroup
ORDER BY IssuedByUserGroup desc
这是返回预期如下:
谢谢!
由于它没有工作,我将不胜感激,如果你可以解释它为什么起作用? –
COALESCE取第一个值,检查它是否为NULL,如果不是NULL - 返回此值。如果传递的第一个值为NULL - 则转到下一个值并执行相同的检查。如果所有传递的值都是NULL,它将返回NULL。你不能在WHERE部分使用SUM(集合函数),这就是为什么你需要使用HAVING。 – gofr1