簡體   English   中英

如何對兩個 SUMmed SQL 結果字段求和

[英]How to SUM two SUMmed SQL result fields

我有一個簡單的表結構,用於保存試劑瓶試劑等分的記錄。

等分試樣是從瓶子創建的,等分試樣記錄有一個外鍵,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;

返回上述試劑 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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM