Я пытаюсь создать своего рода «сводный» вид, где значения должны извлекаться из нескольких разных таблиц ([Учетная запись], [Филиал], [Заказчик], [Сотрудник], [Транзакция], [ФлагТранс]). ,Как перенести записи из нескольких разных таблиц в один вид в 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 ark, это именно то, что мне нужно было сделать, но по какой-то причине я пренебрегал помещением (круглыми скобками) вокруг подзапросов, что, очевидно, заставило SSMS выдавать ошибки. –
Рад помочь Крису. –