当我尝试此查询:的MySQL不等于运营商不工作
SELECT *
FROM sds_posts
WHERE topic_id = '2439'
AND author = ANY (SELECT mid
FROM sds_actions
WHERE whoami = '710' AND type = 'block')
AND status = '1'
AND deleted = '0'
ORDER BY
id ASC
LIMIT 50
是否正常工作。
但我需要这一个:
SELECT *
FROM sds_posts
WHERE topic_id = '2439'
AND author <> ANY (SELECT mid
FROM sds_actions
WHERE whoami = '710' AND type = 'block')
AND status = '1'
AND deleted = '0'
ORDER BY
id ASC
LIMIT 50
这一次的查询必须选择第一次查询的对面,但它仅仅是选择所有作者。我试过!=
和NOT IN
,但结果是一样的。
那么为什么?为什么<>
无法按预期工作?
如果“任何“作品,也许反转内部选择将工作:'选择*从sds_posts WHERE topic_id ='2439'和作者=任何(SELECT mid从sds_actions WHERE whoami <>'710'或类型<>'块')AND状态=' 1'并删除='0'通过ID ASC LIMIT 50'订购 – outlyer 2014-11-25 04:07:58