sql - 在给定特定条件 SQL 的情况下,仅对不同的值求和

标签 sql excel vba ms-access subquery

我有一张数据表

LayerID       Company id  Company name    Layer Name   Price
     1           1             x            x1          20
     2           1             x            x2          10 
     3           2             y            y1          50
     4           2             y            y2          50
     5           2             y            y3          50
     6           3             z            z1          15

我想要的是在应用 SQL 查询后有下表
Company id  Company name     Price
     1           x            30
     2           y            50 
     3           z            15

即适用以下规则:
  • 如果公司不同层的价格不同,那么总结一下
    例如:对于 x 公司,它将是 20+10 = 30
  • 如果公司不同层的价格相同,则取该数字
    例如:对于公司 y,它将是 50,对于 z,它将是 15

  • 我不确定我会如何在 SQL(用于 Access/VBA)中这样做,并且一直试图解决这个问题但无济于事。

    提前感谢您的帮助

    克劳迪

    最佳答案

    将产生您正在寻找的结果的 SQL 查询:

    SELECT m.Company_id, m.Company_name, SUM(m.Price)
    FROM 
    (
      SELECT DISTINCT Company_id, Company_name, Price
      FROM MyTable 
    ) AS m
    GROUP BY m.Company_id, m.Company_name
    

    关于sql - 在给定特定条件 SQL 的情况下,仅对不同的值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21913035/

    相关文章:

    excel - 如何将用户窗体分配给类(类型)?

    vba - Word 2010 VBA 在突出显示的范围内替换

    mysql - 使用 SQL 查询从 MySQL 字段中存储的价格中删除 20%?

    sql - SQL 中查找表的最佳实践

    python - 将嵌套的 json(mixpanel api 原始数据导出)转换为 CSV? (最好在 Python 中)

    excel - 在纯Excel中,如何引用范围中的列(无VBA)

    SQL 表 "Pointer"?

    sql - View 或表函数或其他东西

    java - 使用目录创建 excel 文件 Spring boot java

    VBA 连接字符串问题