2016-07-23 7 views
0

Ich habe eine Tabellen Benutzer und Dokumente, die mit document_user eine viele zu viele Beziehung hat (Verknüpfungstabelle). Aber meine Dokumente Tabelle hat eine Spalte category_id dieser Verweis auf Kategorien Tabelle. So Kategorien hat eine eins zu viele Beziehung mit Dokumenten. Siehe Screenshot unten.Wie LEFT JOIN mit Inner Join

Screenshot

Ich mag die category_id unter Dokumenten Tisch in meiner Verknüpfungstabelle verbinden.

Dies ist mein Code so weit.

SELECT DU.user_id, DU.document_id, DU.dateReceived FROM document_user DU 
INNER JOIN documents D ON DU.document_id = D.id 
INNER JOIN users S ON DU.user_id = S.id; 

Ergebnis:

enter image description here

+0

fügen Sie einfach eine andere 'JOIN' –

+1

Was ist Ihre eigentliche Frage? I.e. Was versuchst du zu erreichen? –

+0

@ MattiasÅslund Ich möchte 'category_id' zu meiner Junction-Tabelle hinzufügen. – Francisunoxx

Antwort

0

In einer anderen verbinden, wie gesagt in th e Kommentare:

SELECT DU.user_id, DU.document_id, DU.dateReceived, C.category_type 
FROM document_user DU 
INNER JOIN documents D ON DU.document_id = D.id 
INNER JOIN users S ON DU.user_id = S.id 
INNER JOIN categories C ON C.id = D.category_id; 
+0

Oder meinten Sie eigentlich, dass Sie nur Dokumentinformationen für eine bestimmte Kategorie abrufen möchten? –

+0

Nein, das ist gut. Es spielt keine Rolle, welche Kategorie ID es ist. Es ist wichtig, welche Art von Kategorie es ist. :) – Francisunoxx

+0

Wie kann ich den 'username' in der' user' Tabelle anstelle von 'user_id' verbinden? Vielen Dank! – Francisunoxx

0

In einem INNER JOIN immer matct

SELECT DU.user_id, DU.document_id, DU.dateReceived FROM document_user DU 
INNER JOIN documents D ON DU.document_id = D.id 
INNER JOIN users S ON DU.user_id = S.id 
INNER JOIN categoris on documents.category_id) categories.id 

oder links, wenn nicht

SELECT DU.user_id, DU.document_id, DU.dateReceived FROM document_user DU 
INNER JOIN documents D ON DU.document_id = D.id 
INNER JOIN users S ON DU.user_id = S.id 
LEFT JOIN categoris on documents.category_id) categories.id 
0

D.category_id hinzufügen wie so wählen:

SELECT DU.user_id, DU.document_id, DU.dateReceived, D.category_id FROM