首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何对一列求和,并根据SQL中的条件将其连接到另一个表?

如何对一列求和,并根据SQL中的条件将其连接到另一个表?
EN

Stack Overflow用户
提问于 2019-08-15 12:08:24
回答 1查看 39关注 0票数 2

我在SQL中有两个表,一个包含product_id、products_name、department_name和product_sales,另一个包含department_id、department_name和over_head_costs。

我希望能够找到所有销售额的总和(在表1中按department_name分组),然后从表2中减去over_head_costs,这样我就知道一个部门的利润有多高。然后,我想输出如下信息: department_id、department_name、over_head_costs、产品/部门销售额、total_profit。

我已经找了2-3个小时了。我处理过连接(我很确定这是如何解决这个问题的),并找到了SUM函数,它实现了求和(但不是按部门),老实说,即使我看到了解决方案,我也不会知道。我真的很难理解SQL。

代码语言:javascript
运行
复制
SELECT SUM(products.product_sales), department_id, departments.department_name, over_head_costs 
FROM products, departments 
WHERE products.department_name = departments.department_name;

这是我最近的查询,也是我得到的最接近的查询,除了它只返回一个部门(我目前有3个部门)。

这大概是我想要的样子:

表1(产品):

代码语言:javascript
运行
复制
ID    ITEM         DEPARTMENT                SALES

1      Hammer       Tools                     40

2.     Nails        Tools                     40

3.     Keyboard     Computer                  80

表二(部门):

代码语言:javascript
运行
复制
ID    DEPARTMENT    COST

1      Tools        20 

2.     Computer     30 

输出:

代码语言:javascript
运行
复制
ID    DEPARTMENT    COST     SALES      PROFIT

1       Tools       20         80               60

2.      Computer    30         80               50

我真的不确定还能尝试什么。我想我只是不明白joins是如何工作的。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-08-15 13:16:58

您可以尝试在子查询中使用带有group bySUM。然后执行join

查询1

代码语言:javascript
运行
复制
SELECT d.*,
       t1.SALES,
      (t1.SALES - d.COST)PROFIT
FROM (
    SELECT DEPARTMENT,SUM(SALES) SALES 
    FROM products
    GROUP BY DEPARTMENT
) t1 JOIN  departments d on d.DEPARTMENT = t1.DEPARTMENT

代码语言:javascript
运行
复制
| DEPARTMENT | COST | SALES | PROFIT |
|------------|------|-------|--------|
|      Tools |   20 |    80 |     60 |
|   Computer |   30 |    80 |     50 |
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57504758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档