简体   繁体   English

如何在mysql的单个列中对多个选择查询求和?

[英]How sum the more than one select query in a single column in mysql?

How to sum this query in single column. 如何在单列中汇总此查询。

    SELECT SUM(IFNULL(ih.amount,0.00)) AS amount 
      FROM human_resources hr 
      JOIN functions f 
        ON hr.function_id = f.id
      JOIN params_hours_cost phc 
        ON phc.function_id = f.id 
       AND phc.function_id = 2
      LEFT 
      JOIN mca_to_hrc ih  
        ON hr.id = ih.human_resource_id
      JOIN management_cost_action ia 
        ON ia.id = ih.mca_id
     WHERE ia.structure_id = 3 
       AND ia.year = 2018
       AND ia.status_id = 0; 

    SELECT SUM(IFNULL(ih.amount,0.00)) amount  
      FROM human_resources hr 
      JOIN functions f 
        ON hr.function_id = f.id
      JOIN params_hours_cost phc 
        ON phc.function_id = f.id 
       AND phc.function_id = 2
      LEFT 
      JOIN mca_to_thrc ih  
        ON hr.id = ih.human_resource_id 
       AND ih.mca_id = 2
      JOIN management_cost_action ia 
        ON ia.id = ih.mca_id
     WHERE ia.structure_id = 3
       AND ia.year = 208
       AND ia.status_id = 0; 

SELECT SUM(IFNULL(ie.distributed_amount,0.00)) distributed_amount  
  FROM revenue_and_expenses re 
  LEFT 
  JOIN mca_to_ee ie 
    ON re.id = ie.revenue_expenses_id
 WHERE re.transaction_type = 2 
   AND ie.amount > 0  
   AND re.year = 2018 
   AND re.structure_id = 3

Wrap all three queries and SUM the alias amount . 包装所有三个查询,并对别名amount SUM

Changed distributed_amount to amount 已将distributed_amount更改为amount

Amended year typo 208 to 2018 将错别字208 2018修订为2018

SELECT SUM(a.amount) FROM (
SELECT SUM(IFNULL(ih.amount,0.00)) AS amount 
FROM human_resources hr INNER JOIN functions f ON(hr.function_id=f.id) 
INNER JOIN params_hours_cost phc ON(phc.function_id = f.id AND phc.function_id=2) 
LEFT JOIN mca_to_hrc ih ON(hr.id=ih.human_resource_id) 
INNER JOIN management_cost_action ia ON(ia.id=ih.mca_id)  
WHERE ia.structure_id = '3' 
AND ia.year='2018' 
AND ia.status_id='0'
UNION ALL
SELECT SUM(IFNULL(ih.amount,0.00)) AS amount  
FROM human_resources hr 
INNER JOIN functions f ON(hr.function_id=f.id) 
INNER JOIN params_hours_cost phc ON(phc.function_id = f.id AND phc.function_id=2) 
LEFT JOIN mca_to_thrc ih ON(hr.id=ih.human_resource_id AND ih.mca_id='2') 
INNER JOIN management_cost_action ia ON(ia.id=ih.mca_id)  
WHERE ia.structure_id = '3' 
AND ia.year='2018' 
AND ia.status_id=0
UNION ALL
SELECT SUM(IFNULL(ie.distributed_amount,0.00)) AS amount
FROM revenue_and_expenses re 
LEFT JOIN mca_to_ee ie ON(re.id=ie.revenue_expenses_id)  
WHERE re.transaction_type=2 
AND ie.amount>0  
AND re.year='2018' 
AND re.structure_id='3') a

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM