这给了我所有包含上述实体的文章。
SELECT COUNT(ArticlesEntity.article_id) AS article_count
FROM articles_entities ArticlesEntity
WHERE ArticlesEntity.entity_id IN ('ENTITY_ID_1','ENTITY_ID_2')
GROUP BY ArticlesEntity.article_id
HAVING article_count>=2
我现在想在此查询中添加一些内容,排除任何具有“ENTITY_ID_3”的实体。
我尝试了以下内容,但它返回了相同的结果:
SELECT COUNT(ArticlesEntity.article_id) AS article_count
FROM articles_entities ArticlesEntity
WHERE ArticlesEntity.entity_id IN ('ENTITY_ID_1','ENTITY_ID_2')
AND ArticlesEntity.entity_id NOT IN ('ENTITY_ID_3')
GROUP BY ArticlesEntity.article_id
HAVING article_count>=2
我错过了什么/做错了什么?
提前致谢
答案 0 :(得分:1)
尝试类似:
SELECT COUNT(ArticlesEntity.article_id) AS article_count
FROM articles_entities ArticlesEntity
WHERE ArticlesEntity.entity_id IN ('ENTITY_ID_1','ENTITY_ID_2')
AND NOT EXISTS (
select 1
from articles_entities
where article_id = ArticlesEntity.article_id
and entity_id = 'ENTITY_ID_3')
GROUP BY ArticlesEntity.article_id
HAVING article_count>=2
答案 1 :(得分:0)
您的查询必须比您在此处显示的内容更多,因为根据您在问题中显示的内容,两个查询的结果应该相同(如果entity_id等于id_1或id_2,则它已经是不等于id_3)。
编辑: 对不起,刚注意到两件事。 1)在您的问题陈述中,您说结果是相同的(如预期的那样)。 2)在你的标题中,你说“内部加入问题”,但是......你没有内心的加入。