0

表 5:管理人员

id | name
1 | Steve
2 | Jacob

表 4:代理经理

id | manager_id | name
1 | 2 | Mary
2 | 2 | Linda
3 | 1 | Nathan

表 3:team_leads

id | deputy_manager_id | name
1 | 3 | Stephen
2 | 1 | Patrick
3 | 2 | Tony
4 | 1 | Austin

表 2:sales_executives

id | team_lead_id | name
1 | 1 | Johnny
2 | 3 | Dalton
3 | 4 | Sonora
4 | 2 | Jessie

表 1:销售额

id | sales_executive_id | product | quantity
1 | 3 | product1 | 10
2 | 2 | product3 | 6
3 | 3 | product2 | 5
4 | 1 | product1 | 4

有了 sales 表中可用的数据,我想编写 mysql 查询来获取已售产品的总数量:

  1. 来自经理史蒂夫的团队。
  2. 来自副经理玛丽的团队。
  3. 从团队领导托尼的团队。

请帮忙。

提前致谢。

4

1 回答 1

0
  1. 来自经理史蒂夫的团队

    SELECT   product, SUM(quantity)
    FROM     managers         m
        JOIN deputy_managers  d ON d.manager_id         = m.id
        JOIN team_leads       t ON t.deputy_manager_id  = d.id
        JOIN sales_executives e ON e.team_lead_id       = t.id
        JOIN sales            s ON s.sales_executive_id = e.id
    WHERE    m.name = 'Steve'
    GROUP BY product
    
  2. 来自副经理玛丽的团队

    SELECT   product, SUM(quantity)
    FROM     deputy_managers  d
        JOIN team_leads       t ON t.deputy_manager_id  = d.id
        JOIN sales_executives e ON e.team_lead_id       = t.id
        JOIN sales            s ON s.sales_executive_id = e.id
    WHERE    d.name = 'Mary'
    GROUP BY product
    
  3. 来自团队负责人 Tony 的团队

    SELECT   product, SUM(quantity)
    FROM     team_leads       t
        JOIN sales_executives e ON e.team_lead_id       = t.id
        JOIN sales            s ON s.sales_executive_id = e.id
    WHERE    t.name = 'Tony'
    GROUP BY product
    

在sqlfiddle上查看它们。

于 2013-04-30T13:19:08.030 回答