2014-08-06 7 views
1

У меня проблема с двумя таблицами в базе данных mysql. здесь приведена табличная схема;проблема с вызовом codeigniter join

курс Таблица

course_id course_code course_name course_credit course_description lupdate 
1   CS-02  Basics of Computer Science   3  
2   CS-03  Crash Course on Programming   3  
3   CS-04  C Programming      4  
4   CS-04  Fundamental of Algorithm   4  
5   CS-05  Fundamental of Management   3  
6   CS-06  Computer Logics      4 

course_prerequisite Таблица

cp_id course_id prereq_id lupdate 
1   5   2  
2   6   3 

и вот дисплей я хочу на моей странице;

course_code course_name     course_credit course_prerequisite lupdate 
CS-02  Basics of Computer Science  3    NO 
CS-03  Crash Course on Programming 3    No 
CS-04  C Programming     4    No 
CS-04  Fundamental of Algorithm  4    No 
CS-05  Fundamental of Management  3    CS-03 Crash Course on Programming 
CS-06  Computer Logics    4    CS-04 C Programming 

Может ли какой-либо орган помочь мне в требуемом выходном запросе в Codeigniter?

заранее спасибо :)

ответ

0

Использование LEFT JOIN course_prerequisite с отношения, основанные на course_id

SQL Query

SELECT course.course_code, course.course_name, course.course_credit, 
    IF(course_prerequisite.course_id IS NULL, 'NO', CONCAT_WS(' ',course.course_code, course.course_name)) as lupdate 
FROM course 
LEFT JOIN course_prerequisite ON course.course_id = course_prerequisite.course_id 

DEMO

Надеюсь, этот запрос CI работает.

$this->db->select("course.course_code, course.course_name, course.course_credit, 
    IF(course_prerequisite.course_id IS NULL, 'NO', CONCAT_WS(' ',course.course_code, course.course_name)) as lupdate", false) 
    ->join("course_prerequisite", "course.course_id = course_prerequisite.course_id", "left"); 

$result = $this->db->get("course"); 

var_dump($result->result()); 
+0

Спасибо @Girish, что является удивительным – Shariati

+0

пожалуйста, добавьте меня в скайпе arif_shariati, это развитие родственного – Shariati

0
$this->db->select("*"); 
$this->db->from("course"); 
$this->db->join("course_prerequisite", "course_prerequisite.course_id=course.course_id"); 
$query = $this->db->get(); 
return $query->result_array(); 

Если вы просто хотите, чтобы некоторые специальные поля меняются выберите метод:

$this->db->select("course.*, course_prerequisite.lupdate as CPLupdate"); 
Смежные вопросы