我有两张桌子
[使用者]
ID,用户名,年龄,城市...等
和
[teacherlook]
ID,用户ID,示教ID,数据
当老师从第一个表[users]看用户时,他将值插入第二个表
NULL,userid(它是第一个表中的id值),teacherid(它是unic)
教师的ID-可以为1,2,3 ... 10),并且时间为Unix
完成,成功了,
脚本第二部分的问题:
教师应查看10个尚未测试的随机用户-尚未在第二个表中的用户。
我尝试
SELECT *
FROM users
JOIN teacherlook
WHERE users.age>18
AND (users.id<>teacherlook.userid AND teacherlook.teachid<>$teacherid)
LIMIT 0,10
并得到一个空白的问题。请帮助做出正确的选择,从第一个表中选择10个随机用户,但第二个表中的教师查看的用户除外。
最佳答案
LEFT JOIN是您所需要的。它将返回LHS表中不存在的所有行。
SELECT *
FROM users
LEFT JOIN teacherlook
ON users.id = teacherlook.userid
AND teacherlook.teachid = $teacherid
AND users.age > 18
WHERE teacherlook.id IS NULL
ORDER BY RAND()
LIMIT 0,10
关于mysql - 如何从两个表中随机选择异常(exception)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45632910/