Cita:
Empezado por Casimiro Notevi
A ver, así a ojo, los join (left o inner) son para relacionar tablas mediante un campo, no para pasar parámetros.
Me refiero a esto: LEFT JOIN Electos B ON B.Cargo = 33
|
Muchísimas gracias por la ayuda Casimiro. Me había obcecado en una forma de hacer el query sin darme cuenta que lo estaba montando mal. Sin embargo, para lo que me hace falta algo tengo que estar haciendo mal. Y recurro al ejemplo que puse antes:
Cita:
Entonces, personas de la población 1837 con cargos 33 y 34.
|
En ese ejemplo yo sé que sí hay una ficha con el cargo 33 pero ninguna con el 34; si hago este query, con intención de obtener los dos resultados:
Código PHP:
SELECT A.Codigo, A.Nombre, A.Apellidos,
C.Codigo, C.Nombre, C.Apellidos
FROM Persona A LEFT JOIN Electos B ON A.Codigo = B.Codigo,
Persona C LEFT JOIN Electos D ON C.Codigo = D.Codigo
WHERE A.Poblacion = 1837
AND B.Cargo = 33
AND A.Junta = (SELECT Codigo FROM Junta WHERE Municipio = A.Poblacion)
AND A.Poblacion = C.Poblacion
AND D.Cargo = 34
AND A.Junta = C.Junta
me devuelve un query vacío y no un fila con los datos del cargo 33 y el resto celdas vacías. Sé que, seguro, es consecuencia de haberme empecinado en una forma incorrecta de hacer la consulta, pero es que ya no veo cómo resolverlo.