复杂的SQL查询,在哪里和哪里不在

时间:2017-12-04 18:13:08

标签: mysql sql

我有3个表(候选人,candidate_notes和candidate_events)

CANDIDATES  | CANDIDATE_NOTES       | CANDIDATE_EVENTS
id          | id                    | id
name        | candidate_event_id    | type
surname     | candidate_id
city        | note
...

一位候选人可以有很多笔记。

一个音符有一种事件。

我想获得所有有事件记录1的候选人,但仅限于此。

例如,如果候选人1有5个音符,一个是类型1,另一个是类型3,另一个是类型6,我不希望在结果中看到它。

有人可以帮我解决这个问题吗? 感谢

1 个答案:

答案 0 :(得分:0)

一种方法使用group byhaving

select cn.candidate_id
from candidate_notes cn join
     candidate_events e
     on cn.candidate_event_id = e.candidate_event_id
group by cn.candidate_id
having min(type) = 1 and min(type) = max(type);
相关问题