Pregunta más de SQL.
Tengo las siguientes tablas que me arman un código político de una región (los andes, en venezuela, para los que quieran):
estado (codest varchar(2), nomest varchar)
municipio (codest varchar(2), codmun varchar (2), nommun varchar)
parroquia (codest varchar (2), codmun varchar (2), codpar varchar (2), nompar varchar)
centropoblado (codest varchar (2), codmun varchar (2), codpar varchar (2), codcen varchar (3), nomcen varchar)
Adicionalmente, para en uno de los sistemas hay, entre otras, unas tablas para el registro de algunos datos de salud, por ejemplo:
mortalidad (codest not null, codmun not null, codpar null, codcen null, id_causa not null, agno not null, total not null)
El asunto, como se observa, es que para el registro de datos de mortalidad, en algunos casos puede existir información hasta el centro pblado, otra veces sólo hasta la parroquia y en otros casos hasta el detalle de municipio, quedando parroquia y/o centro poblado en NULL (o un valor como "NA" que utilizo para algunas validaciones de registros, que no viene al caso)
La consulta que tengo para mostrar un listado de los registros es:
Código:
la cual no devuelve, obviamente, los campos que no tengan una valor válido en parroquia (null, o NA, por ejemplo)SELECT id, date_part('year',agno) AS agno, nomest, nommun, nompar, desc_mortalidad FROM salud_mortalidad JOIN municipio USING (codest, codmun) JOIN parroquia USING (codest, codmun, codpar) JOIN descripcion_mortalidad USING (id_mortalidad)
sí quito el segundo JOIN que hace referencia a la parroquia, entocnes devuelve todos los registros, pero sin la información de la Parroquia a la cual pertenece... lo cual, es correcto!
Ahora bien, cuál puede ser la forma de extraer los datos? dicho, me interesa mostrar de dónde son los registros de mortalidad hasta tanto donde alla información...
Ideas?