我知道之前已經問過很多次了,但是我似乎遇到了一個奇怪的問題。臨時表中不能綁定多部分標識符加入
我正在試圖收集數據,以便在圖表中顯示每個貨物每月欠款的總和。
我想加入我的查詢到一個臨時表中的月份,所以即使沒有該月的數據,我仍然會得到一個值爲0的圖形。
我的代碼:
INSERT INTO #DemurrageValuesExport
SELECT #Months.Month,
SUM(CASE
WHEN ISNULL(PD.PotentialDemurrageCost,0) < 0
THEN 0
ELSE ISNULL(PD.PotentialDemurrageCost,0)
END) AS [Potential Demurrage]
FROM dbo.Trip
RIGHT JOIN dbo.TripCargo
ON dbo.Trip.ID = dbo.TripCargo.TripID
RIGHT JOIN dbo.Cargo
ON dbo.TripCargo.CargoID = dbo.Cargo.ID
LEFT JOIN #Months
ON Month = PD.Berthed
LEFT JOIN dbo.PotentialDemurrageEvents AS PD
ON dbo.Trip.ID = PD.TripID
AND PD.Berthed BETWEEN @MonthStartDate AND @MonthEndDate
AND dbo.TripCargo.ID = PD.TripCargoID
WHERE dbo.Cargo.ID = @CargoID AND TripCargo.Export = 1
GROUP BY Month
這個循環遍歷每個前12個月的,獲取值特定貨物。
問題出現在; ON Month = PD.Berthed
聲稱PD.Berthed
無法綁定。但是,我在查詢中的其他地方使用了別名,並且它們不會導致問題。如果我刪除臨時表連接,查詢執行正常。
有沒有人有線索怎麼回事?或者做得不好,在沒有加入另一個月的表格的情況下實現我想要做的事情?
感謝
對錶名使用'aliases'。 sql分析器很困惑,你指的是哪一個「月」列。 – SajjadHashmi