我需要像选举系统一样进行一些思考,以便工作人员选择一个选举并为我的数据库中的每个人选择是否投票,并将其保存到另一个数据库表中,但如果我已经选择了一个人在一个选举它不应该再问我,但如果我选择另一个选举它会再问一次。我对一切都使用 PHP 和 MySQL。
我有不同的查询,例如:
SELECT *
FROM personas
LEFT OUTER JOIN votaciones
on personas.id = votaciones.id_persona
WHERE personas.seccion = 6 AND
personas.mesa LIKE 'U' AND
votaciones.id_eleccion IS NULL
LIMIT 5
目前我有 3 张桌子。1 里面有人,它有它的 id、名字、第二个名字,以及他去哪张桌子投票,然后是所有不同选举的另一张桌子,比如 2000 年的全国选举,最后是人们所做的投票。
最后一个是 Id_person 作为人民的外键,id_elecction 来自选举,投票是 1 或 0(是和否)。
如果是 1 次选举,那会很容易,但有很多,我不知道有多少,因为您将来可以添加更多选举。
感谢每一个回答任何问题的人。
问题:我需要想出一个查询,它会给出仍未投票给特定选举的人的姓名,就像所有没有在选举 1 中投票的人一样。如果一个人在选举 1 中投票但仍然没有在选举中投票2. 当我要求选举 1 时,那个人不会出现,但当我要求选举 2 时,他会出现,因为他还没有投票。
就像是:
SELECT distinct id, nombre, apellido1,
apellido2, personas.seccion
FROM personas
LEFT JOIN votaciones
on personas.id = votaciones.id_persona
WHERE personas.seccion = 1 AND
mesa = 'A' AND
(id_eleccion IS NULL OR NOT EXISTS
(SELECT *
FROM votaciones
WHERE id_eleccion = 2 )
)