2016-09-24 73 views
-4

我想加入student_imagestudent_details表,其中我要加入兩個表使用單個查詢

image_id = student_id

但是我困在這裏,查詢給出了學生的詳細信息,但現在我要添加與學生

下面一起顯示出來的學生形象是我的查詢

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

+0

使用一個select和join語句來連接這兩個表。 – tristansokol

+0

你使用codeigniter嗎? – Fil

回答

0

您使用的是CodeIgniter嗎?

如果你想顯示student_image你也可以做這樣的:

$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(); 

,或者你可以不喜歡它的:

$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)); 

我希望這能解決你的問題

+0

感謝上面編輯我的句子。 我的英文不好。 –

+0

謝謝,是的,我使用代碼點火器...代碼現在完美工作 –

+0

不客氣的兄弟。 –

0

我自己,也可能其他人完全不知道你使用的db類是什麼,所以我們無法幫你處理這些細節。

像這樣的查詢是非常基本的。一個簡單的查詢看起來有點像這樣:

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

就是這樣。現在你必須把它翻譯成你的db類的工作...

我建議你在開始使用特殊的預製課程之前學習基本的mysql查詢。當你不知道你想要做什麼時,它們使事情變得更加複雜。

- 上述查詢只會在兩個表中實際存在該行時纔會爲您提供學生詳細信息。 如果你想回來,即使它不存在,你可以使用一個LEFT JOIN,像這樣:

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

上面的查詢將檢索一個學生的成績。