2016-09-24 5 views
-4

ich student_image Tisch mit student_details Tisch anschließen möchten, woich zwei Tabellen mit einer einzigen Abfrage beitreten möchten

image_id = student_id

aber ich bin hier fest, gibt die Abfrage die Schüler Details, aber jetzt will ich hinzufügen der Student Bild mit dem Schüler zusammen angezeigt werden

im Folgenden finden Sie meine Anfrage

$query = $this->db->get_where('student_detail',array('reg_no'=>$reg_no))->result_array();

+0

löst eine select- und Join-Anweisung, um die beiden Tabellen zu verbinden. – tristansokol

+0

Verwenden Sie Codeigniter? – Fil

Antwort

0

Verwenden Sie CodeIgniter?

Wenn Sie student_image angezeigt werden soll auch können Sie es wie folgt tun:

$this->db->select('*'); 
$this->db->from('student_image a'); 
$this->db->join('student_details b', 'a.image_id=b.student_detail_id','inner'); 
$this->db->where('b.student_detail',$reg_no); 
return $this->db->get(); 

oder Sie können, wie es dies tun:

$query = "select * from student_image as a join student_details as b on a.image_id=b.student_detail_id where b.student_detail=?" 
return $this->db->query($query ,array($reg_no)); 

Ich hoffe, das Ihr Problem Verwendung

+0

danke für meinen Satz oben editiert. mein Englisch ist nicht gut. –

+0

danke, ja, ich benutze Code-Zünder ... der Code funktioniert jetzt perfekt –

+0

du bist willkommen bro. –

0

Ich selbst und wahrscheinlich jeder andere hat absolut keine Ahnung, welche DB-Klasse Sie verwenden, also können wir Ihnen bei diesem Detail nicht helfen.

Eine Abfrage wie diese ist sehr einfach. Eine einfache Abfrage würde ungefähr so ​​aussehen:

SELECT * 
    FROM student_details, student_image 
    WHERE student_details.studentID = student_image.studentID 

Und das ist es. Jetzt müssen Sie es in die Arbeit mit Ihrer db-Klasse übersetzen ...

Ich würde Ihnen empfehlen, grundlegende MySQL Abfragen zu lernen, bevor Sie anfangen, spezielle vorgefertigte Klassen zu verwenden. Sie machen die Dinge viel komplizierter, wenn Sie noch nicht wissen, was Sie tun sollen.

- Die obige Abfrage wird nur dann die Student-Details erhalten, wenn die Zeile tatsächlich in beiden Tabellen vorhanden ist. Wenn Sie es wollen zurück, auch wenn es nicht existiert, Sie LEFT JOIN, wie so verwenden könnte:

SELECT * 
    FROM student_details 
    LEFT JOIN student_image ON student_details.ID = student_image.ID 
    WHERE student_details.ID = 'myStudentID' 

Die obige Abfrage-Ergebnisse würden abzurufen des Schülers.

Verwandte Themen