我正在尝试阻止某些列表,这是我尝试过的命令
SELECT * FROM USER LIMIT 0, 50 WHERE
名称NOT IN (SELECT * FROM
排除)
我的排除表包含我想要阻止它的用户名,但似乎无法正常工作。
我正在尝试阻止某些列表,这是我尝试过的命令
SELECT * FROM USER LIMIT 0, 50 WHERE
名称NOT IN (SELECT * FROM
排除)
我的排除表包含我想要阻止它的用户名,但似乎无法正常工作。
将其重新编码为左连接:-
SELECT `USER`.*
FROM `USER`
LEFT OUTER JOIN exclude
ON `USER`.name = exclude.name
WHERE exclude.name IS NULL
LIMIT 0, 50
但是,如果您想使用与以前相同的样式来执行此操作,则需要从排除中的选择中返回匹配字段,而不是每个字段(即,不是 SELECT *)
SELECT *
FROM `USER`
WHERE name NOT IN (SELECT name FROM exclude)
LIMIT 0, 50
尝试这个 :
SELECT * FROM USER LIMIT 0, 50 WHERE name NOT IN (SELECT name FROM exclude)
查询不起作用的最可能原因是该exclude
表中可能包含多个列,这会在您尝试运行查询时导致错误