2016-08-21 4 views
0

Ich habe diese Abfrage, die im Grunde abrufen 2 Tabellen (tbl_users und tbl_moreInfo) basierend auf ausgewählten Benutzer-ID. Es funktioniert gut, aber es gibt Zeiten, dass die tbl_users die ID hat, dass die Tbl_moreInfo nicht hat, so dass es leere Zeile zurückgibt. Ich möchte immer noch Tbl_users abrufen, obwohl keine ID in Tbl_moreInfo in nur 1 Abfrage übereinstimmt.MySQL Inner Join Tabelle 1 abrufen, obwohl Tabelle 2 nicht übereinstimmt ID

Dies ist meine Frage:

SELECT T1.*, T2.* 
FROM tbl_users T1 
INNER JOIN tbl_moreInfo T2 
ON T1.ID=T2.ID 
WHERE T1.ID=1 

Vielen Dank im Voraus :)

+1

Verwenden Sie einfach "LINKE VERBINDUNG". 'SELECT T1. *, T2. * VON tbl_users T1 LINKE VERBINDUNG tbl_moreInfo T2 ON T1.ID = T2.ID WHERE T1.ID = 1' – 1000111

+0

ist es das? wow, es funktioniert! wer auch immer du bist, du bist mein Held ~ Danke! – Jeremy

+0

Siehe auch [Was ist der Unterschied zwischen "INNER JOIN" und "OUTER JOIN?"] (Http://stackoverflow.com/q/38549/1695906) –

Antwort

0

Zuerst sollten Sie 2 eine Referenz-ID von Tabelle 1

JOIN tbl_moreInfo T2 ON T1.ID = T2.T1_ID -- NOT T2.ID 

und verwenden Sie dann in der Tabelle, wenn id ist nicht in Tabelle 2 vorhanden, verwenden Sie den linken Join, der in den Daten, die nicht vorhanden sind, mit NULL gefüllt ist.

SELECT T1.*, T2.* 
FROM tbl_users T1 
LEFT JOIN tbl_moreInfo T2 ON T1.ID=T2.ID 
WHERE T1.ID=1 
+0

big thumbs up für diesen Dank! – Jeremy