0

私は20行あり、使用していsum()ます:

SELECT Sum(totalcon) AS totalcon_sum,
   Sum(vat3)     AS vat3_sum,
   Sum(rupes)    AS rupes_sum,
   pordernon,
   po_date,
   b_no,
   vendortext
FROM   po,
   potable,
   branch_master,
   delivery_master
WHERE  mr_assetpo = 'NCE'
   AND Substr(po.pordernon, 6, 2) = branch_master.b_no
   AND po.pordernon = delivery_master.deliverypo_no
   AND po.transid = potable.transid
   AND Year(po_date) = '"+req2+"'
   AND status = 'normal'
GROUP  BY Year(po_date)  

私の質問は:

合計の間に空白行があるときはいつでも、その行もカウントされます。空の行を計算したくありません。

4

2 に答える 2

0

IFNULL 関数を使用する

Sum(IFNULL(totalcon,0))

クエリは次のとおりです。-

SELECT Sum(IFNULL(totalcon)) AS totalcon_sum,
   Sum(IFNULL(vat3))     AS vat3_sum,
   Sum(IFNULL(rupes))    AS rupes_sum,
   pordernon,
   po_date,
   b_no,
   vendortext
FROM   po,
   potable,
   branch_master,
   delivery_master
WHERE  mr_assetpo = 'NCE'
   AND Substr(po.pordernon, 6, 2) = branch_master.b_no
   AND po.pordernon = delivery_master.deliverypo_no
   AND po.transid = potable.transid
   AND Year(po_date) = '"+req2+"'
   AND status = 'normal'
GROUP  BY Year(po_date)  
于 2013-07-01T11:44:03.840 に答える