我有两个表,学生表和student_subject。我想挑选其student_id出现在student_subject表上的学生,并且我只想返回一行。
餐桌学生
|student_id |名称
|1个月,一个月。
|2个月,一个月,一个月|詹姆斯
表主题
id |subject_id | student_id | subject_name
1|2数学式学习方法|1数学式学习方法|1数学式学习方法|数学
2|1%.英语|英语|1%.英语|英语|英语
3个月|3个月,孩子们,孩子们,生物学
我的代码
$this->db->select('*')
->from('students')
->where('student_id IN (select student_id from student_subject'));我只想像这样显示单行:-
|student_id |名称
|1个月,一个月。
发布于 2017-02-25 14:19:19
试试这个:
select *
from students s
where exists (
select 1
from subjects j
where s.student_id = j.student_id
)发布于 2017-02-25 14:21:02
您需要按如下方式使用query:
$this->db->select('students.student_id, students.name')
->from('students')
->join('subjects', 'students.id = subjects.student_id')
->group_by('students.id');发布于 2017-02-25 14:22:31
尝试this.using加入
$this->db->select('students.student_id as sid,students.name as sname',false);
$this->db->from('students s1');
$this->db->join('subjects s2','s1.student_id = s2.student_id');
$this->db->groupby('s1.student_id');使用别名进行访问,如
$row->sid,$row->sname
注意:- group_by()以前称为groupby(),现已删除。
https://stackoverflow.com/questions/42452676
复制相似问题