【发布时间】:2015-09-02 17:31:49
【问题描述】:
我正在用 SQL 制作数据透视表。我正在尝试让IsNull(ItemQty, 0) 工作。我拥有下面代码的方式将无法正常工作,因为它会引发以下错误。如果我将顶部的 Select 语句更改为仅 Select * from () 它将起作用。但是,那不允许我做 IsNull 。
ShipWeekMod 和 ItemQty 是 vtc_ItemForecastSummary 视图中 CASE 语句的结果。有什么想法吗?
消息 207,级别 16,状态 1,第 16 行无效的列名称“ShipWeekMod”。 消息 207,级别 16,状态 1,第 16 行列名“ItemQty”无效。
select
OfferTypeShipYear, EDPNO, OfferType, ShipYear, ShipWeekMod, IsNull(ItemQty, 0) as ItemQty
from
(
select OfferTypeShipYear, EDPNO, OfferType, ShipYear, ShipWeekMod, ItemQty as ItemQty from vtc_ItemForecastSummary
) DataTable
PIVOT
(
SUM(ItemQty)
FOR ShipWeekMod
IN (
[2],[4],[6],[8],[10],[12],[14],[16],[18],[20],[22],[24], [26],[28],[30],[32],[34],[36],[38],[40],[42],[44],[46],[48],[50],[52]
)
) PivotTable
【问题讨论】:
标签: sql sql-server pivot-table