我有两张桌子课程和学生
说,学生有领域:id
,first_name
有数据
id : first_name
1 : Andrew
2 : Brian
3 : Charles
4 : David
5 : Eric
6 : Fred
7 : George
比如说,Course 有两个字段:id 和 students
有数据:
ID 。. . . . . . . 1. . . . . . 2
学生们 。. . 1,2,5。. . .3,4,6,7
假设我想查找课程 1 中学生的姓名
SELECT students FROM courses c WHERE c.id = 1;
按预期产生 1,2,5
还
SELECT @students := students FROM courses c WHERE c.id =1;
按预期产生 1,2,5
和
SELECT s.first_name FROM students s WHERE s.id IN (1,2,5);
如预期的那样产生安德鲁,布赖恩埃里克
SET @students := students FROM courses c WHERE c.id =1;
选择@学生;`
产生 1、2、5
我希望
SET @students := students FROM courses c WHERE c.id =1;
SELECT s.first_name FROM students s WHERE s.id IN (@students);
让安德鲁,布赖恩·埃里克
但它只返回名字:Andrew
我完全知道我可以/应该有一个单独的 course_student 查找表,但我很想知道为什么我没有得到我期望的结果
我哪里错了?