ある種の「要約」ビューを作成しようとしています。このビューでは、値をいくつかの異なるテーブル([Account]、[Branch]、[Customer]、[Employee]、[Transaction]、[FlaggedTrans])から取得する必要があります。
ビュー内で多数のSELECTステートメントを実行できないため、問題が存在するINNERJOINを使用してタスクを実行しようとしています。
これが私がこれまでに得たものです:
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として返される原因になっています。何が間違っているのでしょうか。