我在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中所需的输出查询吗?
提前感谢:)
答案 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
希望,此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());