Hola tengo ese escenario como consulta a mi DB:
Código:
SELECT T1.`demo_eleccion_ideleccion` AS `Ideleccion`,
T1.`idcandidatos` AS `Idcandidatos`,
T1.`nombre` AS `Candidatos`,
T1.`numero` AS `Numero_Tarjeton`,
T1.`tarjeton` AS `tarjeton`
From demo_candidatos T1
left Join demo_registro T2 ON T1.demo_eleccion_ideleccion = T2.urna
left Join demo_voting T3 ON T2.codigo_votante = T3.codigo
where T2.codigo_votante is null
El objetivo básicamente es que los campos de la tabla demo_candidatos solo se muestre cuando en la tabla demo_registro no existen los registros urna y codigo_votante, ambos en la misma fila.
Por lo tanto si tengo 3 urnas (U1 - U2 y U3) y 2 codigo_votante (cod1 - cod2) entonces en la tabla demo_registro tengo dos campos: Urna y Codigo
con dos filas así->
U1-cod1
U2-cod1
Entonces sólo debe mostrarme U3 para registrarlo en demo_registro como: U3-cod1. ya que aún falta registrar una Urna (U3) para el codigo_votante (cod1).
Esto sólo para cod1 y faltarían todos (U1-U2 y U3) en el caso de cod2, ya que este último aún no tiene ningun registro en la tabla demo_registro.