2016-06-24 1 views
-1

Я пишу запрос для банковского сценария. В запросе указывается количество работающих сотрудников, количество обслуживаемых клиентов, общая сумма кредита и общая сумма счета в конкретном отделении банка.SQL Server: complex Соединения для отчетности

Таблицы разработаны так:

Table Design

Каждый филиал имеет сотрудников, возложенные на него, каждый банковский счет присваивается филиала, каждый кредит присваивается филиала. Клиент может иметь как кредит, так и счет в том же филиале, но должен учитываться только как один обслуживаемый клиент. Клиент может иметь счета/кредиты в разных банках и должен рассчитывать клиента как одного клиента на банк.

Нужный результат будет выглядеть следующим образом:

Desired Output

Я честно понятия не имею, с чего начать и что любая помощь будет принята с благодарностью. Спасибо, что нашли время, чтобы прочитать это!

ответ

0

Позвольте мне знать, если это работает:

SELECT b.BranchID BranchID, 
    COUNT(e.empID) NumEmployees, 
    COUNT(c.customerID) NumCustomers, 
    SUM(ISNULL(l.balance,0)) [Total Load Amount], 
    SUM(ISNULL(a.balance,0)) [Total Account Amount] 
FROM Branch b 
    JOIN Employee e ON b.branchID = e.branchid 
    JOIN Loan l ON l.branchID = b.branchID 
     AND l.empID = e.empID 
    JOIN Account a ON a.branchID = b.branchID 
     AND a.empID = e.empID 
    JOIN Customer c ON c.customerID = l.customerID 
     AND c.customerID = a.customerID 
GROUP BY b.branchID 
+0

Эй Bjones. К сожалению, это не сработало. Нет результатов. Спасибо хоть! –

+0

@SeanGreaves Существуют ли в ваших данных значения NULL? – BJones

+0

Единственные значения NULL будут в enddate и закрыты для учетной записи/кредита –