我有兩張表,一張工資表income,消費表payment,須要SQL查詢出某一我的在本月的消費餘額。當消費表記錄爲空或者工資表記錄爲空時,兩個sum()函數相減MySQL顯示結果爲空值。函數
沒有作判斷空值的處理。code
一、先把兩張表中的金額字段的默認值設爲0。 二、在運算的時候使用ifnull()函數判斷是否爲空,爲空的話設爲0值。date
SELECT ( SELECT ifnull(sum(in_amount), 0) FROM income WHERE userid = '' AND DATE_FORMAT(in_date, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') ) - ( SELECT ifnull(sum(pay_amount), 0) FROM payment WHERE userid = '' AND DATE_FORMAT(pay_date, '%Y%m') = DATE_FORMAT(CURDATE(), '%Y%m') ) AS result;