Итак, у меня есть 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'
)
Я с трудом формулировку, что я пытаюсь сказать, так что я думаю, что может быть частью проблемы.
Вы подтвердили, что ваши предложения 'join' и' where' фактически возвращают вам строки, которые вы хотите? Замените 'sum()' на '*' и добавьте ограничение, чтобы проверить, что вы возвращаете строки. Каков тип данных «secondary_lpt.loan_amount»? – scwagner
Измените это 'loan_log.loan_ms_funding = NULL' на' loan_log.loan_ms_funding IS NULL', и ваше последнее условие 'loan_log.loan_transdetail = 'Active Loan'' изменит это соединение на внутреннее соединение –
@scwagner я могу получить сумму, если i не существует предложения WHERE. его тип int, кстати. – smarble