首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >看似简单的mysql查询,事实证明是困难的

看似简单的mysql查询,事实证明是困难的
EN

Stack Overflow用户
提问于 2012-06-21 01:10:05
回答 1查看 32关注 0票数 0

我有一个非常基本的mysql表,名为memberships,它跟踪哪些人属于哪些组。人们可以属于不同的群体。

包含id、person_id、group_id三个字段

我需要选择group_ids为'20‘和'53’的所有person_ids。这些人只能属于这两个组。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-21 01:20:10

代码语言:javascript
复制
SELECT DISTINCT a.person_id
FROM memberships a
JOIN memberships b
    ON a.person_id = b.person_id 
    AND b.group_id = 53
LEFT JOIN memberships c
    ON a.person_id = c.person_id 
    AND c.group_id NOT IN (20,53)
WHERE a.group_id  = 20 AND c.person_id IS NULL;

尽管你也可以选择NOT EXISTS格式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11124656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档