我試圖創建一種'彙總'視圖,其中值應該從幾個不同的表中拉取([帳戶],[分支],[客戶],[員工],[交易],[標誌交易]) 。如何從SQL Server 2008 R2中將幾個不同表中的記錄拖入單個視圖?
因爲我不能在視圖中執行一些SELECT語句,所以我試圖用INNER JOINs來完成這個任務,這是我的問題所在。
這裏是我到目前爲止有:
CREATE VIEW Summary
AS
SELECT NEWID() AS Summary_Id,
COUNT(C.Customer_Id) AS CustCount,
COUNT(A.Account_Id) AS AcctCount,
COUNT(T.Transaction_Id) AS TransCount,
COUNT(B.Branch_Id) AS BranchCount,
COUNT(E.Employee_Id) AS EmplCount,
CAST(SUM(A.Balance) AS INT) AS BalTotal,
COUNT(F.FlaggedTrans_Id) AS FlagCount
FROM dbo.Account A INNER JOIN
dbo.Customer C ON A.Customer_Id = C.Customer_Id INNER JOIN
dbo.Employee E ON A.Employee_Id = E.Employee_Id INNER JOIN
dbo.[Transaction] T ON A.Account_Id = T.Account_Id INNER JOIN
dbo.FlaggedTrans F ON E.Employee_Id = F.Employee_Id CROSS JOIN
dbo.Branch B
倒也符合邏輯,但它造成的所有值回來爲NULL,或者0。我在做什麼錯?
Thanks M方舟,這正是我需要做的,但無論出於什麼原因,我都忽略圍繞子查詢放置(括號),這顯然導致SSMS拋出錯誤。 – 2010-11-15 14:14:11
很高興幫助克里斯。 – 2010-11-15 22:28:11