我有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,我不希望在结果中看到它。
有人可以帮我解决这个问题吗? 感谢
答案 0 :(得分:0)
一种方法使用group by
和having
:
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);