你好夥計Stackoverflowers!我有一個查詢我正在努力,我需要篩選出0的,但它並沒有刪除這些記錄,我似乎無法弄清楚爲什麼。mySQL COALESCE過濾
請參考下面,
SELECT disb_sum, pl_balance,
COALESCE(p.pl_balance - pd.disb_sum, p.pl_balance - 0) AS pledge_balance
FROM contacts c
LEFT JOIN pledges p ON c.c_no = p.c_no
LEFT JOIN (
SELECT pl_no, disb_status, disb_no, disb_amount, SUM(disb_amount) AS disb_sum
FROM disbursements
WHERE disb_status = 1
GROUP BY pl_no
) pd ON p.pl_no = pd.pl_no
GROUP BY p.pl_no
HAVING pledge_balance > "0"
ORDER BY c.c_last
輸出
# disb_sum, pl_balance, pledge_balance
NULL, '5000.00', '5000.00'
NULL, '5000.00', '5000.00'
'25000.00', '25000.00', '0.00'
NULL, '100000.00', '100000.00'
NULL, '6000.00', '6000.00'
NULL, '2500.00', '2500.00'
NULL, '1500.00', '1500.00'
我試圖增加額外的參數和disb_sum <> disb_sum但得到相同的結果集。
嘿@Niloct,好點。我嘗試了你的建議,但我仍然得到相同的結果集。感謝您的支持! –