如何让一个老师的所有学生,每个学生有一个老师,每个老师有很多学生,我正在使用此SQL请求,每个老师只有一个学生,您能帮忙吗
$data = '';
$sth = Model::connect()->prepare('SELECT a.name ,
b.nameTeacher
FROM table1 b , table2 a
WHERE a.id_teacher = b.id GROUP BY b.id');
$sth->execute();
$data = $sth->fetchAll();
return $data;
表1
老师:
Id
nameTeacher
表2
学生:
Id
名称
Id_teacher
答案 0 :(得分:0)
删除GROUP BY
,并学习使用正确,明确的标准 JOIN
语法:
SELECT a.name, b.nameTeacher
FROM table1 b JOIN
table2 a
ON a.id_teacher = b.id ;
答案 1 :(得分:0)
这将起作用:
select a.name,b.nameTeacher from students a ,teacher b
where a.Id_teacher=b.Id
答案 2 :(得分:0)
SELECT b.nameTeacher, count(a.name) as numberOfStudents
FROM table1 b , table2 a
WHERE a.id_teacher = b.id GROUP BY b.id
或:
SELECT a.Id, a.name
FROM table1 b , table2 a
WHERE a.id_teacher = b.id and (b.id = [input ID] or b.nameTeacher = [input name]