Noc*_*gam 5 html php mysql sql select
我有一个SQL查询应该从我的学生表中获取程序,类和年份,给出两列X和Y数字.例如,如果x = 3且Y = 4,则表示学生3和4之间存在连接,为了我们的论证,我将从学生4中选择程序,班级,年份.
问题是,如果有两行,其中X和Y相等,例如:第1行:X = 3,Y = 4第2行:X = 3,Y = 4
(因为可能有两个连接),SELECT只会选择程序,类和年只是ONCE,而不是两次.我希望它能单独选择重复,所以我的循环稍后会回显两次.
我希望自己清楚明白!
$SQL = "
SELECT Programme, Class, Year
FROM Students
WHERE Student_ID in (
SELECT X
FROM SearchStudent
WHERE Y= '$id'
)";
Run Code Online (Sandbox Code Playgroud)
我在评论中提到的 JOIN 可能看起来像这样:
SELECT s.Programme, s.Class, s.Year
FROM SearchStudent AS ss
INNER JOIN Students AS s ON ss.X = s.Student_ID
WHERE ss.Y= '$id'
;
Run Code Online (Sandbox Code Playgroud)
并且不要忘记清理您的输入(即确保 $id'中没有);或者更好的是,研究参数化查询