codeigniter加入查询问题

时间:2014-08-06 05:28:22

标签: php mysql codeigniter

我在mysql数据库中有两个表的查询问题。这是表格架构;

课程表

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中所需的输出查询吗?

提前感谢:)

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分:0)

使用基于course_id的LEFT JOIN course_prerequisite与关系

SQL查询

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