2014-12-03 45 views
0

我有以下查詢:PHP/MySQL的:值0,如果記錄尚未在數據庫

$query = "SELECT (SELECT SUM(net_amount) FROM fin_costos WHERE month='1' AND group_of_costos='general' AND year_analysis='2014') + 
(SELECT SUM(net_amount) FROM em2_fin_costs WHERE month='1' AND group_of_costos='general' AND year_analysis='2014') AS total"; 

它基本上是從不同的表中檢索到的2 SUM值。 在SELECT語句之一中出現問題時,該記錄尚未存在於數據庫中並創建NULL,即使第二個SELECT獲取了值,也會創建NULL

問題:如果記錄尚未存在於數據庫中,如何將SELECT語句的結果轉爲0。

回答

1

使用IFNULL():當net_amount IS NOT NULL,則其他0結束net_amount)FROM fin_costos WHERE月份=

SELECT IFNULL((SELECT SUM(net_amount) FROM fin_costos WHERE month='1' AND group_of_costos='general' AND year_analysis='2014'), 0) + 
IFNULL((SELECT SUM(net_amount) FROM em2_fin_costs WHERE month='1' AND group_of_costos='general' AND year_analysis='2014'), 0) AS total 
+0

工程很棒。非常感謝! – user2952715 2014-12-03 14:10:26

0

嘗試這

$查詢=「SELECT(SELECT SUM(案件 '1' AND (當net_amount IS NOT NULL,然後net_amount else 0結束時)FROM em2_fin_costs WHERE month ='1'AND group_of_costos ='general'AND year_analysis ='2014'AND + year_analysis ='2014')+ )總計「;

+0

謝謝。我一直在爲第一個SELECT獲取NULL。 – user2952715 2014-12-03 14:00:34

相關問題