2013-10-21 94 views
0

好執行SUM操作,這些都是我的表:我需要在SQL

EMPLOYEE   STORE   BORROW     UNIFORM 
- EMP_ID   - STORE_ID  - UNIFORM_ID   - UNIFORM_ID 
- EMP_NAME  - STORE_NAME - BORROW_START_DATE - UNIFORM_COST 
- STORE_ID      - BORROW_END_DATE 
           - EMP_ID 

我需要有一個返回當前正由每個員工每家商店借來制服的總成本函數。 我需要它看起來像這樣

Store Name  Total Uniform Costs 
North Store  $4,250 
East Store  $2,500 
South Store  $2,750 
West Store  $3,000 

我不知道從哪裏開始,我知道我需要使用GROUP BY子句,但我不知道如何使用它。你能解釋給我嗎?

回答

1

這個簡單的查詢應該讓你的結果你想要的:

select s.STORE_NAME, sum(u.UNIFORM_COST) as TotalCost 
from STORE s 
inner join EMPLOYEE e on e.STORE_ID = s.STORE_ID 
inner join BORROW b on b.EMP_ID = e.EMP_ID 
inner join UNIFORM u on u.UNIFORM_ID = b.UNIFORM_ID 
group by s.STORE_NAME 

第一步是加入讓我們存儲和統一的成本之間有着某種聯繫所需的所有表,因此這兩個表,我們必須讓連接店內所有員工和他們的借款。在此之後,我們總結統一的成本以獲得總價值,最後我們必須按商店名稱對結果進行分組。

0

你需要存儲表統一用表連接連接

select STORE_NAME, sum (UNIFORM_COST) as TotalUniformCosts 
from STORE s 
inner join EMPLOYEE e 
    on s.STORE_ID=e.STORE_ID 
inner join BORROW b 
    on e.EMP_ID=b.EMP_ID 
inner join UNIFORM u 
    on b.UNIFORM_ID=u.UNIFORM_ID 
group by STORE_NAME