Mysql 选择列的值不等于其他表中其他列的值的结果
我正在尝试制作一个投票脚本,人们可以给老师打分,但我有一个问题 我希望脚本只显示你以前没有给老师评分过的老师,因为一遍又一遍地给同样的事情评分是没有意义的 我有两张桌子: 教师与评级 从“teacher”表中,我需要teacherId、teacherName和teacherImage的值 从“评级”表中,我想比较userId的值和登录用户的id(我有一个变量和用户的值) 但是对于测试,我只使用id“2” 当这项工作完成后,我希望它能向每位老师显示,这个用户还没有投票。我试过很多方法,但没有一种能像我想的那样奏效 我最新的问题是:Mysql 选择列的值不等于其他表中其他列的值的结果,mysql,sql,select,Mysql,Sql,Select,我正在尝试制作一个投票脚本,人们可以给老师打分,但我有一个问题 我希望脚本只显示你以前没有给老师评分过的老师,因为一遍又一遍地给同样的事情评分是没有意义的 我有两张桌子: 教师与评级 从“teacher”表中,我需要teacherId、teacherName和teacherImage的值 从“评级”表中,我想比较userId的值和登录用户的id(我有一个变量和用户的值) 但是对于测试,我只使用id“2” 当这项工作完成后,我希望它能向每位老师显示,这个用户还没有投票。我试过很多方法,但没有一种能
SELECT t.teacherId, t.teacherName, t.teacherImage, r.userId, r.teacherId
FROM teacher t, rating r
WHERE r.userId = 2 AND t.teacherId != r.teacherId
如果有人对我如何使这项工作有想法,我将不胜感激
提前感谢。对于那些没有被特定用户评分的教师,不会有任何评分记录。您可以检索已由用户评分的教师列表,然后在中不使用
SELECT teacherId,
teacherName,
teacherImage
FROM teacher
WHERE teacherId NOT IN (SELECT teacherId
FROM rating
WHERE userId = 2)