2013-03-20 202 views
0

所以基本上,我有2個表格,我需要得到一列的總和。但是我需要選擇的行在另一個表中有標準。我想出了這個查詢,但它總是返回null。基於另一個表格的數據獲取列的總和

SELECT sum(secondary_lpt.loan_amount) 
FROM secondary_lpt 
LEFT JOIN loan_log ON loan_log.loan_guid = secondary_lpt.loan_guid 
WHERE (
    secondary_lpt.lock_Date 
    BETWEEN date('2013-02-19 15:25:55') 
    AND date('2013-04-19 15:25:55') 
) 
AND (
    loan_log.loan_ms_funding = NULL 
    OR loan_log.loan_ms_funding = '' 
) 
AND (
    loan_log.loan_transdetail = 'Active Loan' 
) 

我很難說我想說什麼,所以我想這可能是問題的一部分。

+0

你確認你的'join'和'where'子句實際上返回你想要的行嗎?用'*'替換'sum()'並添加一個限制來檢查是否有行返回。 'secondary_lpt.loan_amount'的數據類型是什麼? – scwagner 2013-03-20 16:54:01

+2

將這個'loan_log.loan_ms_funding = NULL'改爲'loan_log.loan_ms_funding IS NULL',最後一個條件'loan_log.loan_transdetail ='Active Loan''會將這個連接改變爲內連接 – 2013-03-20 16:55:00

+0

@scwagner我可以得到這個總和,如果我在那裏沒有WHERE子句。它是一個int類型,順便說一句。 – smarble 2013-03-20 16:58:08

回答

1

如果在where子句中使用左連接子句中的表的字段,它通常作爲內連接(它期望列有值)。所以移動你的子句到ON子句

相關問題