2016-05-16 35 views
0

在客户表中有一个SupportID这是工作人员表中的WorkerId,每个WorkerId显示哪个将处理该客户。加入并汇总来自多个表的数据

Working Name | No. of accounts | total revenue 
---------------------------------------------- 
John McCoy  20    10,000 
  • 员表包含 - 名字,姓氏,雇员
  • 回执表包含 - 收据ID,客户ID,
  • ReceiptLine表包含 - receiptlineId,收据编号,单价,数量

目前我有这个代码/想法

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

回答

0

使用GROUP BY解决您的问题

+0

我不需要使用JOIN吗? – razorcode7

1

在这个问题中,您没有提到worker和收据表之间的依赖关系。但是,让表上的依赖项列为workerId。现在试试这个,希望你能得到你想要的结果。

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