如何对两个 SUMmed SQL 结果字段求和

How to SUM two SUMmed SQL result fields

我有一个简单的 table 结构保存 reagent_bottlesreagent_aliquots 的记录。

等分试样是从瓶子创建的,并且等分试样记录有一个外键,bottle_id,指向一个瓶子 ID。

要获取特定试剂的总体积(计算瓶子中的体积和等分试样中的体积),以下查询完成部分工作:

SELECT  
      COALESCE(SUM(rb.volume), 0) AS bVolume, 
      COALESCE(SUM(ra.volume), 0) AS aVolume
FROM reagent_bottles AS rb
LEFT JOIN 
      reagent_aliquotes AS ra
ON rb.id = ra.bottle_id
WHERE reagent_id = 408;

returns 对于上述试剂 id (408):

bVolume | aVolume
       2|       6

将 bVolume 和 aVolume 相加,是正确答案,即 8。

问题是,我如何重写上述查询以创建新字段 total_volume,在查询中对 bVolume 和 aVolume 求和?

我试过这个:

SELECT  
      COALESCE(SUM(rb.volume), 0) AS bVolume , 
      COALESCE(SUM(ra.volume), 0) AS aVolume, 
      SUM(bVolume + aVolume) AS total_volume
FROM 
      reagent_bottles AS rb
LEFT JOIN 
      reagent_aliquotes AS ra
ON rb.id = ra.bottle_id
WHERE reagent_id = 408;

但出现错误,未知列,字段列表中的 bVolume..!

对原始列求和:

SELECT  
      COALESCE(SUM(rb.volume), 0) AS bVolume , 
      COALESCE(SUM(ra.volume), 0) AS aVolume, 
      SUM(COALESCE(rb.volume, 0) + COALESCE(ra.volume, 0)) AS total_volume
FROM 
      reagent_bottles AS rb
LEFT JOIN 
      reagent_aliquotes AS ra
ON rb.id = ra.bottle_id
WHERE reagent_id = 408;