2017-02-26 1 views
1

Ich habe drei Tabellen in meiner Datenbank Benutzer, Beiträge und Kommentare.Inner Joining Mehrere Tabellen in Mysql

ihre Struktur wie folgt ist:

**users** : 
user_id , user_name 
**posts**: 
post_id , post_content, user_id 
**comments** : 
comment_id , comment_content , post_id, user_id 

jetzt will ich Daten aus diesen drei Tabellen holen auf folgende Weise unter Verwendung kommen: comment_id, comment_content, user_id, user_name, post_id kann mir jemand erklären PLZ wie kann das gemacht werden? Ich werde sehr dankbar sein.

Antwort

1

Es ist eine einfache JOIN.

Try this:

select c.comment_id, 
    c.comment_content, 
    u.user_id, 
    u.user_name, 
    c.post_id 
from comments c 
join users u on u.user_id = c.user_id; 

Wenn Sie Spalten aus Beiträge Tabelle müssen auch beitreten es:

select c.comment_id, 
    c.comment_content, 
    u.user_id, 
    u.user_name, 
    p.post_id, 
    p.post_content 
from comments c 
join users u on u.user_id = c.user_id 
join posts p on c.post_id = p.post_id; 
+0

seine einzige Rückkehr einen Kommentar für einen Beitrag ... ich alle Kommentare holen wollen bestimmten Beitrag ... Ich möchte alle Kommentare, die Post_id posted sind 157 – Shehzad

+0

ja ich hatte bereits versucht, aber diese Abfrage holt alle Kommentare für jeden Beitrag und fügt die user_id dieses Beitrags als user_id des Kommentars auf alle Kommentare auf diesem Post ... ist ther Wie auch immer, Screenshot hier in Kommentaren zu zeigen? damit ich Screenshots mit dir teilen kann? – Shehzad

+0

@Shehzad - Gibt es einen Grund, warum Sie die Antwort nicht akzeptiert haben? – GurV