Cordial saludo. Tengo una tabla llamada funcionario, departamentos y dependencias con los siguientes campos:
----------------------
funcionario
----------------------
cod_fun
nombres
apellidos
numdoc
cod_dep
cod_depen
----------------------
dependencias
----------------------
cod_depen
dtalle_depen
----------------------
departamentos
----------------------
cod_dep
dtalle_dep
Lo que pasa es que tengo 15 usuarios en la tabla funcionario y 4 de ellos tienen el campo cod_depen en 0 ya que no pertenecen a ninguna dependencia. Estoy tratando de hacer una consulta donde me traiga todos los funcionarios tengan o no dependencia, al hacer la consula completa solo me lista los que tienen algun valor en cod_depen, intento hacer dos consultas diferentes y unirlas con UNION ALL y lo que hace es listar primero todos los funcionarios ya que todos tienen departamento(cod_dep) y seguido me lista todos los funcionarios que tiene dependencia(cod_depen) duplicando los registros y me arroja 26 en total. ¿Alguien me puede guiar un poco sobre si es posible realizar lo que necesito? gracias:
Código SQL:
Ver originalSELECT funcionario.cod_fun,funcionario.nombres,funcionario.apellidos,funcionario.numdoc,funcionario.cod_dep,
departamentos.cod_dep,departamentos.dtalle_dep
FROM funcionario,departamentos
WHERE funcionario.cod_dep=departamentos.cod_dep
UNION ALL
SELECT funcionario.cod_fun,funcionario.nombres,funcionario.apellidos,funcionario.numdoc,
funcionario.cod_depen,dependencias.cod_depen,dependencias.dtalle_depen
FROM funcionario,dependencias
WHERE funcionario.cod_depen=dependencias.cod_depen;
Cita: Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las
normas del foro, por favor.
http://i61.tinypic.com/w0qp2q.png