基于另一个表格的数据获取列的总和
问题描述:
所以基本上,我有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'
)
我很难说我想说什么,所以我想这可能是问题的一部分。
答
如果在where子句中使用左连接子句中的表的字段,它通常作为内连接(它期望列有值)。所以移动你的子句到ON子句
你确认你的'join'和'where'子句实际上返回你想要的行吗?用'*'替换'sum()'并添加一个限制来检查是否有行返回。 'secondary_lpt.loan_amount'的数据类型是什么? – scwagner 2013-03-20 16:54:01
将这个'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
@scwagner我可以得到这个总和,如果我在那里没有WHERE子句。它是一个int类型,顺便说一句。 – smarble 2013-03-20 16:58:08