Atif Imran
Atif Imran

Reputation: 2049

Incorrect rows returned with date condition

I have a query that left joins two table with a date condition. I want to fetch rows for yesterday's transactions only.

Here the query:

When I add the AND condition still all the rows are returned but with null values to those not matching condition.

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);

Upvotes: 0

Views: 35

Answers (1)

StanislavL
StanislavL

Reputation: 57381

YOu should either change LEFT JOIN to INNER JOIN

or

move the call to WHERE section

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

Upvotes: 1

Related Questions