2016-09-19 81 views
0

我有一個查詢,加入兩個表與日期條件。我只想爲昨天的交易提取行。錯誤的行返回日期條件

這裏查詢:

當我添加AND條件仍返回所有的行,但空值對那些不符合條件。

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