2016-05-16 5 views
0

В таблице клиентов есть SupportID, который представляет собой таблицу WorkerId в таблице рабочих, каждая из которых показывает, что будет обрабатывать этот клиент.Объединение и объединение данных из нескольких таблиц

Working Name | No. of accounts | total revenue 
---------------------------------------------- 
John McCoy  20    10,000 
  • Рабочий стол содержит - Имя, Фамилия, EmployeeID
  • Квитанция таблица содержит - квитанцию ​​Id, CustomerId,
  • ReceiptLine Таблица содержит - receiptlineId, получение Id, UnitPrice, количество

В данный момент у меня есть этот код/​​идея

SELECT FirstName, LastName 
FROM Employee A, Invoice B 
WHERE A.EmployeeId = B.CustomerId 

ответ

0

Используйте GROUP BY, чтобы устранить вашу проблему.

+0

Не буду ли я использовать JOIN? – razorcode7

1

В этом вопросе вы не указали зависимость между рабочим столом и квитанцией. Однако пусть столбец зависимости будет рабочим при получении таблицы. Попробуйте это, надеюсь, вы получите желаемый результат.

select a.firstName, sum(count(b.customerId)) as no_accounts, sum(c.unitPrice *c.quantity) as total_revenue 
from ((worker a join receipt b on a.workerId = b.SupportId) 
join receiptLine c on b.receiptId = c.receiptId) group by a.firstName order by a.firstName; 
+0

Я получаю сообщение об ошибке >>> рядом с «JOIN»: синтаксическая ошибка: – razorcode7

+0

В приведенном выше коде «(« отсутствует », теперь все нормально, попробуйте еще раз. –

+0

все еще дает ту же ошибку – razorcode7

Смежные вопросы