选择必须存在于两个表中的数据,并忽略仅存在于一个表中的数据

时间:2017-02-24 14:10:24

标签: php codeigniter

我有两个表学生表和科目,student_id是科目表中的外键,我想选择student_id出现在科目表上的学生,我想只返回单行,请帮助。

我很早就选择出现在学生桌上并且没有出现在主题上的学生,而这里是代码

  $this->db->select('*')
        ->from('students AS t')
        ->where('t.student_id NOT IN (select student_id from subjects)',NULL,FALSE);


$query = $this->db->get(); 
return $query->result_array();

我认为答案与我早期的做法相反。

1 个答案:

答案 0 :(得分:2)

你的说法是正确的

$this->db->select('*')
    ->from('students AS t')
    ->where('t.student_id IN (select student_id from subjects)');


$query = $this->db->get(); 
return $query->result_array();

只需删除“NOT”一词,这应该有用。

EDIT :: 从查询末尾删除',NULL,FALSE',因为它们不是必需的。包括这些将在字段为NULL或FALSE时拉取结果。这不是预期的结果。