通过与 MySQL 的多对多关系查找未在选举中投票的选民
Finding voters that did not vote in an election through a many to many relationship with MySQL
我有两个 table 通过多对任何关系链接在一起。 Table 一个包含所有具有 ID 的选民,table 两个包含所有具有 ID 的选举,table 三个链接都 table 使用他们的 ID。
并非所有选民都在所有选举中投票。我想查询多对多关系以找到他们没有投票的每个选民的选举。我正在使用 MySQL.
一个典型的解决方案是用 cross join
生成选民和选举的所有可能组合,然后尝试将 table 与 left join
结合起来:没有记录比赛,你知道选民错过了选举。
考虑:
select v.voter_id, e.election_id
from voters v
cross join elections e
left join voter_elections ve
on ve.voter_id = v.voter_id
and ve.election_id = e.election_id
where ve.voter_id is null
我有两个 table 通过多对任何关系链接在一起。 Table 一个包含所有具有 ID 的选民,table 两个包含所有具有 ID 的选举,table 三个链接都 table 使用他们的 ID。
并非所有选民都在所有选举中投票。我想查询多对多关系以找到他们没有投票的每个选民的选举。我正在使用 MySQL.
一个典型的解决方案是用 cross join
生成选民和选举的所有可能组合,然后尝试将 table 与 left join
结合起来:没有记录比赛,你知道选民错过了选举。
考虑:
select v.voter_id, e.election_id
from voters v
cross join elections e
left join voter_elections ve
on ve.voter_id = v.voter_id
and ve.election_id = e.election_id
where ve.voter_id is null