多个连接表,总和为

时间:2018-05-22 18:21:39

标签: mysql inner-join

我需要加入以下表格

  1. table_quotation
  2. table_customer
  3. table_project
  4. table_quoted_products
  5. table_estimate
  6. 这里table_quoted_products与table_quotation有一对多的关系 同样,table_quoted_products中的每个产品在table_estimate中都有多个项目。因此,1个报价可能在table_quoted_products中有多个产品,而每个产品我在table_estimate中都有多个项目来构建每个项目的估算成本。

    现在我需要一个查询来构建一个表,它可以给我table_project的报价标题,table_customer的客户名称,table_quotation的报价销售总额以及table_estimate的同一报价的总费用。我尝试过以下查询,但sum函数乘以产品数量。

    SELECT a.quote_id
         , a.check_status
         , a.approve_status
         , b.title as project
         , c.customer
         , SUM(d.quantity*d.quoted_rate) as sale
         , SUM(e.qty*e.rate) as cost from table_quotation a 
      JOIN table_project b on a.project_id = b.project_id
      JOIN table_customer c on a.customer_id = c.id 
      JOIN table_quoted_product d on a.quote_id = d.quote_id 
      JOIN table_estimate e on a.quote_id = e.ref_id 
     WHERE e.ref_type = 2 and a.approve_status = 0 
     GROUP 
        BY a.quote_id
    

    估算表有2种估算,1种用于单个单位的模板产品,2种用于报价产品,因此我只需要报价产品的成本。我需要更改以获得准确的销售和估计成本吗?

0 个答案:

没有答案