基于另一个表格的数据获取列的总和

基于另一个表格的数据获取列的总和

问题描述:

所以基本上,我有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

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