我有一個SQL Server數據庫(2012年快遞)與許多表。 我根據不同的基礎表組合,產生了三種不同的視圖。 這些視圖中的每一個由三列組成,年份,月份&合計 3個視圖中的每一箇中的總列都是不同的度量。 我希望能夠做的是三個彙總合併成一個單一的視圖結合多個SQL視圖年和月
我曾與下面的腳本嘗試這一點 -
SELECT b.[Year], b.[Month], b.Fees AS [Billing],
f.Estimate AS [Estimate],
w.Fees AS [WIP]
FROM MonthlyBillingTotals AS b
FULL JOIN MonthlyFeeEstimates AS f
ON (b.[Year] = f.[Year] AND b.[Month] = f.[Month])
FULL JOIN MonthlyInstructionsWIP AS w
ON (b.[Year] = w.[Year] AND b.[Month] = w.[Month])
ORDER BY b.[Year], b.[Month]
本來我想內部連接。當然,除非年度/ Month組合存在於第一個視圖(MonthlyBillingTotals)中,那麼它不會出現在組合查詢中。因此,我嘗試了FULL JOINS,但是這裏的問題是我在Year和Month列中得到了一些NULLS,當它們不存在於第一個視圖(MonthlyBillingTotals)中時。
如果在三個視圖中的數據如下 -
然後,我要的是 -
更妙的是(如果可能的話) -
與填充
生成以下錯誤消息4104,級別16,狀態1,行14 無法綁定多部分標識符「a.Year」。 Msg 4104,Level 16,State 1,Line 14 無法綁定多部分標識符「a.Month」。 Msg 4104,Level 16,State 1,Line 17 無法綁定多部分標識符「a.Year」。 Msg 4104,Level 16,State 1,Line 17 無法綁定多部分標識符「a.Month」。 – PJW
立即嘗試..有點拼寫錯誤..語法未經測試,但一般的想法應該給你你需要的東西.. – StevieG
哦,並根據你使用的數據庫,你應該能夠取代NULLS'0'使用合併或NVL .. – StevieG