2016-05-16 59 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