2016-07-25 8 views
-3

i 2 Tische haben, sagen wir mal Tabelle „a“ und „b“ .. die beiden Tabellen haben die gleichen columns..lets sagen transaction_id und phone_numbermysql innere join nicht wie erwartet

hier ist der Inhalt der Tabelle "a"

buy | 1000 
redeem | 1000 
buy | 2000 
redeem | 2000 

und hier ist für die Tabelle "b"

buy | 1000 
redeem | 1000 
buy | 2000 

als ich versuchte, sie zu verbinden ähnliche Datensätze zu finden, mit

select tablea.transaction_id, tablea.phone_number 
from tablea a 
inner join tableb b 
on tablea.transaction_id = tableb.transaction_id 
and tablea.phone_number = tableb.phone_number 

ich nur bekommen

buy | 1000 
redeem | 1000 

der letzte ähnliche Rekord „kaufen | 2000" wird immer missing..why dies geschieht?

+1

Was für Transaktions-ID? Welche Telefonnummer? – e4c5

+1

Kann Ihr Problem nicht reproduzieren: http://sqlfiddle.com/#!9/0aa460/1.Bitte geben Sie die tatsächlichen Daten und Abfrage – Philipp

Antwort

0

Sie haben folgende Abfrage zu verwenden. Sie können auch einen anderen Tabellennamen statt verwenden ‚a‘ und ‚b‘.

SELECT 
    a.transaction_id, 
    a.phone_number 
FROM 
    a 
INNER JOIN b 
ON (a.transaction_id = b.transaction_id AND a.phone_number = b.phone_number); 
+0

Umm, kann ich nicht den Unterschied zu der OP-Abfrage erkennen gibst du mir einen Hinweis? –