2016-09-19 2 views
0

У меня есть запрос, который оставил соединение двух таблиц с условием даты. Я хочу получать строки только для вчерашних транзакций.Неверные строки, возвращенные с условием даты

Вот запрос:

Когда я добавляю и состояние по-прежнему все строки возвращаются, но с нулевыми значениями тех, кто не соответствующим условию.

SELECT 
B.txn_id, 
B.txn_time, 
B.svc_method, 
B.customer_number, 
B.amount, 
B.amount_commission, 
B.status, 

A.partner_txn_id, 
A.session_id as partner_session_id 

FROM Partner A 
LEFT JOIN Transaction B 
ON A.log_id = B.txn_id 
AND B.txn_time >= (CURDATE() - INTERVAL 1 DAY); 

ответ

1

следует либо изменить LEFT JOIN в INNER JOIN

или

движение на вызов, где раздел

B.txn_time >= (CURDATE() - INTERVAL 1 DAY) 
+0

Спасибо! не знаю, как я пропустил это –

+0

Сохранение LEFT JOIN, но перемещение условия в предложение WHERE выглядит как ошибка программирования для меня ... Просто переключитесь на INNER JOIN. – jarlh

Смежные вопросы