2016-12-30 6 views
1

Ich habe 2 Tabellen gesammelt und anfordern, wenn eine Anfrage gemacht wird, erstellen Sie eine ID, wenn die Person einen Teil des Gesamtbetrags erhalten, geht es gesammelt gesammelt entlang mit der Darlehensidentifikation, muss ich Anforderungsinformationen zusammen mit gesammelten Informationen, die auf loan_id basieren, die auf beiden Tabellen lokalisierte, dann holen diese auf php zurück.Wie wählt man Inhalt aus 2 Tabellen basierend auf ID, die in beiden Tabellen sind

Tisch Anfrage enter image description here

TABLED gesammelt enter image description here

select * from request, users 
where request.user_id = users.id and request.user_id = $user_id" 

diese wählen die Anforderungstabelle

select * from collected where loan_id = 146 (loan_id from request table) 

bekommt werde ich wie Anfrage Informationen haben zusammen mit gesammelter Tabelle info entsprechend jede Darlehens-ID aus der Anfragetabelle

+0

Alle 'print's Sie bekam übereinstimmen Da und das 'while' (und im Grunde der ganze PHP-Code) ist ** nicht ** relevant für deine Frage. Bitte lösche den Code und halte ** nur ** was relevant ist (was die eigentliche Anfrage ist, die du sendest). – Dekel

+0

ich redigierte meine Frage, ich stellte PHP ein, weil ich am Ende alle Informationen –

+0

Echo jetzt haben muss, ist Ihre Frage viel besser. Habe meine Stimme hier :) – Dekel

Antwort

2

können Sie Mitglied werden verwenden (INNER JOIN, wenn der Tabellenspalte immer übereinstimmen)

select * 
from request 
inner join collected on request.loan_id = collected.loan_id 
inner join users on request.user_id = users.id 
Where request.user_id = $user_id 

oder links kommen, wenn die Spalte irgendwann nicht

select * 
from request 
left join collected on request.loan_id = collected.loan_id 
inner join users on request.user_id = users.id 
Where request.user_id = $user_id 
+0

Ich habe die 1 Option, die tatsächlich ausgegeben, was ich brauche, aber Anfrage Tabelle Display 3 mal die gleichen Informationen und gesammelt ist genau, was Sinn macht, weil es 3 mit Darlehen ID 147 vorlegen, gibt es einen Weg zu Anzeige Anfrage Info 1 Zeile gesammelt Info 3 (Info) Zeilen oder mehr je nach Menge 1 bis mehr –

+0

Wenn die 3 Zeilen genau gleich sind, können Sie select distinct verwenden .. wenn nicht, müssen Sie stattdessen explizit mit column name auswählen von select * – scaisEdge

+0

ich meine anfrage info ich brauche alles. Sammeltabelle nur ein paar Beispiele gesammelt Menge und sammeln Datum sind Informationen, die ich brauche. Ich werde Ausgabe 1 zu mehr mögen, 2 zu mehr, 3 zu mehr und so weiter –

Verwandte Themen