Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta en FIREBIRD 2.1 (https://www.clubdelphi.com/foros/showthread.php?t=71038)

DasGrun 26-11-2010 01:36:29

consulta en FIREBIRD 2.1
 
Hola.

Mi Consulta es sobre un procedimiento de consulta que realice en Firebird vea sql.
Código SQL [-]
SELECT 
  MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID,
  MAESTRO_CONTROL_EMPLEADOS.FECHA_INICIO,
  MAESTRO_CONTROL_EMPLEADOS.OBSERVACION,
  EMPLEADO.NOMBRES,
  EMPLEADO.APELLIDOS,
  EMPRESA_EMPLEADO.DESCRIPCION,
  FESTIVOS.DESCRIPCION,
  SUB_ACTIVIDAD.DESCRIPCION,
  ACTIVIDAD.DESCRIPCION,
  FRENTES.DESCRIPCION,
  PROYECTO.DESCRIPCION,
  ASIGNAR_ACTIVIDAD_EMP.HORA_INICIAL,
  ASIGNAR_ACTIVIDAD_EMP.HORA_FINAL,
  ASIGNAR_ACTIVIDAD_EMP.HORAS_TOTALES,
  ACTIVIDAD.ACTIVIDAD_ID,
  ACTIVIDAD.ID_FRENTE,
  ACTIVIDAD.CODIGO_CONTABLE
FROM
  MAESTRO_CONTROL_EMPLEADOS
  INNER JOIN ASIGNAR_ACTIVIDAD_EMP ON (MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID = ASIGNAR_ACTIVIDAD_EMP.CONTROL_ID)
  INNER JOIN EMPLEADO ON (MAESTRO_CONTROL_EMPLEADOS.EMPLEADO_ID = EMPLEADO.EMPLEADO_ID)
  INNER JOIN EMPRESA_EMPLEADO ON (EMPLEADO.EMPLEADO_ID = EMPRESA_EMPLEADO.EMP_EMPLEADOID)
  INNER JOIN FESTIVOS ON (MAESTRO_CONTROL_EMPLEADOS.FESTIVOS_ID = FESTIVOS.FESTIVOS_ID)
  INNER JOIN SUB_ACTIVIDAD ON (ASIGNAR_ACTIVIDAD_EMP.SUB_ACTIVIDAD_ID = SUB_ACTIVIDAD.SUB_ACTIVIDAD_ID)
  INNER JOIN ACTIVIDAD ON (SUB_ACTIVIDAD.ACTIVIDAD_ID = ACTIVIDAD.ACTIVIDAD_ID)
  INNER JOIN FRENTES ON (ACTIVIDAD.ID_FRENTE = FRENTES.ID_FRENTE)
  INNER JOIN PROYECTO ON (FRENTES.ID_PROYECTO = PROYECTO.ID_PROYECTO)
WHERE
  MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID = 9

de la cual tengo mucha tablas interconectadas para poder ver la descripcion de cada una de las misma.

Mi Pregunta es porque FireBird Permite Ver el Resultado de algunas registros y no completamente de todo.

aqui por ejemplo le digo que me presente todos los registro que contenga MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID = 9 de la cual esta bien perfecto!!! pero cuando le digo MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID = 12 no me presenta informacion de una.

sin Embargo si lo dejo asi:

Código SQL [-]
SELECT 
  MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID,
  MAESTRO_CONTROL_EMPLEADOS.FECHA_INICIO,
  MAESTRO_CONTROL_EMPLEADOS.OBSERVACION,
  EMPLEADO.NOMBRES,
  EMPLEADO.APELLIDOS,
  ASIGNAR_ACTIVIDAD_EMP.HORA_INICIAL,
  ASIGNAR_ACTIVIDAD_EMP.HORA_FINAL,
  ASIGNAR_ACTIVIDAD_EMP.HORAS_TOTALES
  
FROM
  MAESTRO_CONTROL_EMPLEADOS
  INNER JOIN ASIGNAR_ACTIVIDAD_EMP ON (MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID = ASIGNAR_ACTIVIDAD_EMP.CONTROL_ID)
  INNER JOIN EMPLEADO ON (MAESTRO_CONTROL_EMPLEADOS.EMPLEADO_ID = EMPLEADO.EMPLEADO_ID)
 WHERE
  MAESTRO_CONTROL_EMPLEADOS.CONTROL_ID = 12

me presenta cualquier informacion que yo le pida.

Gracias.

espero que comprendan esta consulta?

fjcg02 26-11-2010 09:40:54

Código SQL [-]
  INNER JOIN EMPRESA_EMPLEADO ON (EMPLEADO.EMPLEADO_ID = EMPRESA_EMPLEADO.EMP_EMPLEADOID)
  INNER JOIN FESTIVOS ON (MAESTRO_CONTROL_EMPLEADOS.FESTIVOS_ID = FESTIVOS.FESTIVOS_ID)
  INNER JOIN SUB_ACTIVIDAD ON (ASIGNAR_ACTIVIDAD_EMP.SUB_ACTIVIDAD_ID = SUB_ACTIVIDAD.SUB_ACTIVIDAD_ID)
  INNER JOIN ACTIVIDAD ON (SUB_ACTIVIDAD.ACTIVIDAD_ID = ACTIVIDAD.ACTIVIDAD_ID)
  INNER JOIN FRENTES ON (ACTIVIDAD.ID_FRENTE = FRENTES.ID_FRENTE)
  INNER JOIN PROYECTO ON (FRENTES.ID_PROYECTO = PROYECTO.ID_PROYECTO)
Hola ,
en alguna de estas tablas no hay datos relacionados para el registro con id=12

Cambia los inner join por left join y prueba, seguramente saldrá.

A partir de ahí revisa los datos de las tablas o deja la consulta tgal y como te indico.

Ya nos dirás.

Saludos

DasGrun 26-11-2010 15:59:46

Gracias.

me funciono como me dijistes, sabia que existia left pero no sabia para que era.

aparte del LEFT JOIN y de INNER JOIN hay otro?

fjcg02 26-11-2010 22:16:20

Mira a ver si te aporta algo.

http://es.wikipedia.org/wiki/Join

siempre puedes buscar algún manual de SQL por la red.

Saludos


La franja horaria es GMT +2. Ahora son las 07:51:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi