2016-04-12 6 views
0

Ich versuche Datensätze aus zwei Tabellen auszuwählen.PHP MySQL SELECT aus 2 Tabellen funktioniert nicht

Bitte beachten Sie die Screenshots für die Tabellenstrukturen:

Tabelle listing

listing table

Tabelle c_profile

c_profile

Ich mag die Aufzeichnungen der Kotierung Tabelle anzuzeigen und wenig aus c_profil Tabelle ..

SELECT c_profile.c_name,c_profile.logo, c_profile.email, listing.id, listing.title, listing.type,listing.job_desc,listing.c_id, listing.time, listing.vote_up from c_profile,listing where c_uid=c_id 

Die obige Anweisung funktioniert gut, aber nur Problem ist es wählt nicht "vote_up" Ergebnisse.

Wenn ich jedoch eine normale SELECT-Anweisung ohne WHERE verwenden, scheint es zu funktionieren.

Wie kann ich dieses Problem lösen?

+0

Verwenden Sie den Aliaseintrag in listing.vote_up nicht. Wenn Sie einen Alias ​​benötigen, geben Sie einen solchen Namen an: Wählen Sie * aus der Tabelle t. In diesem Fall ist t der Alias. – Erick

+0

Gibt es Gründe, gut oder schlecht? Ich dachte, es ist ein Verweis auf den Namen der Tabelle nicht der Alias, wie ich aus zwei Tabellen auswählen ... Danke –

+0

Sie können einfach nicht auswählen table.columnName aus der Tabelle. Wenn Sie das tun wollen, müssen Sie: t.columnName aus der Tabelle t – Erick

Antwort

1

Ich denke, was Sie wollen, ist eine linke Join, weil Sie alle Datensätze der Auflistungstabelle und ein paar von c_profile Tabelle wollen.

SELECT c_profile.c_name, 
     c_profile.logo, 
     c_profile.email, 
     listing.id, 
     listing.title, 
     listing.type, 
     listing.job_desc, 
     listing.c_id, 
     listing.time, 
     listing.vote_up 
FROM listing 
LEFT JOIN c_profile ON c_uid=c_id 

diese Weise können Sie alle Aufzeichnungen für das Auflisten und nur verbinden, in dem Sie eine passende c_profile

+0

Yessssssssssssss, Worksss Fineeeeee ... Vielen Dank sooooo viel .... –

+0

Kein Problem :) Wenn Sie Fragen haben, würde ich mich freuen, wenn nicht dann nicht tun Vergiss eine Antwort zu akzeptieren. Viel Glück mit Ihrem Projekt! – Jester

0

SELECT c_profile.c_name finden, c_profile.logo, c_profile.email, listing.id, listing.title, listing.type, listing.job_desc, listing.v_id, listing.time, listing.vote_up von listing link join c_profile ON c_profile.c_uid = listing .c_id

+0

Ja funktioniert auch gut .. Danke ... –