我需要在SQL中执行SUM操作

时间:2013-10-21 10:39:26

标签: sql select group-by sum

好的,这些是我的表:

  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子句,但我不知道如何使用它。你能解释一下吗?

2 个答案:

答案 0 :(得分: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

第一步是加入所需的所有表格,以便我们在商店和统一成本之间建立一些联系,因此要连接这两个表格,我们必须让所有员工在商店和他们的借款。之后,我们将统一成本汇总到总价值,最后我们必须按商店名称对结果进行分组。

答案 1 :(得分:0)

您需要使用连接

连接Store表和Uniform表
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