Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/01/2013, 07:34
Rorrex_
 
Fecha de Ingreso: marzo-2009
Ubicación: Coronel
Mensajes: 5
Antigüedad: 15 años, 8 meses
Puntos: 0
problema consulta multitabla inner join

hola comunidad como están....

bueno me a surgido el siguiente problema...

tengo una bd en la cual tengo las siguientes tablas:

trabajador pkrun_trabajador (tiene como clave fk a rut_empresa y cod_faena)
empresa
faena
entrada_trabajador (fk run_trabajador)
salida_trabajador (fk run_trabajador)

entonces realizo la siguiente consulta

Código SQL:
Ver original
  1. SELECT trabajador.run_trabajador, trabajador.nombre_trabajador, entrada.fecha_entrada_trabajador, salida.fecha_salida_trabajador, faena.nombre_faena, empresa.nombre_empresa
  2. FROM trabajador
  3. INNER JOIN entrada_trabajador AS entrada ON entrada.run_trabajador = trabajador.run_trabajador
  4. INNER JOIN salida_trabajador AS salida ON trabajador.run_trabajador = salida.run_trabajador
  5. INNER JOIN empresa ON empresa.rut_empresa = trabajador.rut_empresa
  6. INNER JOIN faena ON faena.cod_faena = trabajador.cod_faena
  7. WHERE trabajador.run_trabajador = xxxxxxxx;
lo que quiero obtener de esta consulta es que muestre lo siguiente

run_trabajador - nombre_trabajador - fecha_entrada - fecha_salida - nombre_empresa - nombre_faena

y de echo obtengo el resultado pero me multiplica la cantidad de registros de la tabla entrada_trabajador con el total de registros de la tabla salida_trabajador...

y ese es mi problema.... si alguien tiene idea de por que ocurre esto?

y como extra como se puede hacer para que cuando el trabajador tenga una fecha de entrada y no de salida en el campo fecha_salida quede en blanco o null?

de antemano gracias

Última edición por gnzsoloyo; 18/01/2013 a las 08:46