0
Ich habe eine Abfrage, die zwei Tabellen mit einer Datumsbedingung verbindet. Ich möchte nur Zeilen für gestrige Transaktionen abrufen.Falsche Zeilen mit Datumsbedingung zurückgegeben
Hier ist die Abfrage:
Wenn ich hinzufügen, die UND-Bedingung alle noch die Zeilen zurückgegeben werden, aber mit NULL-Werte diejenigen, die nicht passenden Zustand.
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);
Dank JOIN ändern! Ich weiß nicht, wie ich das verpasst habe –
Das LINKE JOIN zu behalten, aber die Bedingung in die WHERE-Klausel zu verschieben, sieht für mich wie ein Programmierfehler aus ... Wechseln Sie stattdessen einfach zu INNER JOIN. – jarlh