Ir al contenido


Foto

Ayuda con consulta en Firebird que no resulta como quisiera.


  • Por favor identifícate para responder
3 respuestas en este tema

#1 mrfred

mrfred

    Member

  • Miembros
  • PipPip
  • 10 mensajes

Escrito 03 abril 2013 - 04:46


Hola a todos los amigos de este foro, mi problema es que tengo cinco tablas, las que muestro a continuacion:

TABLA_NOMBRE
DNI
NOMBRE

DATOS_AUXILIARES
DNI
CARGO
OFICINA

TABLA_SUELDO
DNI
BASICO
DESCUENTO
NETO
TIPO_PLANILLA
MES
NUM_PLANILLA

TABLA_PLANILLA
TIPO_PLANILLA

PERIODO
MES

Bueno hice la siguiente consulta:

SELECT TABLA_NOMBRE.DNI,TABLA_NOMBRE.NOMBRE,DATOS_AUXILIARES.CARGO,DATOS_AUXILIARES.OFICINA,TABLA_SUELDO.BASICO,TABLA_SUELDO.DESCUENTO,TABLA_SUELDO.NETO,TABLA_SUELDO.NUM_PLANILLA FROM TABLA_SUELDO,TABLA_NOMBRE,DATOS_AUXILIARES WHERE (TABLA_PLANILLA.TIPO_PLANILLA='ADM') AND (TABLA_PERIODO.MES='ENERO')


Quisiera que el resultado sea asi, pero no me resulta y o le encuentro la solucion, espero vustra respuesta:


[table]
  [tr]
    [td]DNI[/td]
    [td]NOMBRE[/td]
    [td]CARGO[/td]
    [td]OFICINA[/td]
    [td]BASICO[/td]
    [td]DESCUENTO[/td]
    [td]NETO[/td]
    [td]NUM_PLANILLA[/td]
  [/tr]
  [tr]
    [td]5556564[/td]
    [td]PEDRO[/td]
    [td]JEFE[/td]
    [td]OM[/td]
    [td]4500[/td]
    [td]200[/td]
    [td]4300[/td]
    [td]12[/td]
  [/tr]
  [tr]
    [td]5455464[/td]
    [td]MARIO[/td]
    [td]ASISTENTE[/td]
    [td]INF[/td]
    [td]4500[/td]
    [td]300[/td]
    [td]4200[/td]
    [td]12[/td]
  [/tr]
  [tr]
    [td]5456456[/td]
    [td]PEPE[/td]
    [td]ASISTENTE[/td]
    [td]OM[/td]
    [td]4562[/td]
    [td]200[/td]
    [td]4362[/td]
    [td]12[/td]
  [/tr]
[/table]


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 abril 2013 - 05:02

Hola mrfred

Yo haría algo así:


SELECT
  TN.DNI,
  TN.NOMBRE,
  TA.CARGO,
  TA.OFICINA,
  TS.BASICO,
  TS.DESCUENTO,
  TS.NETO,
  TS.NUM_PLANILLA
 
FROM TABLA_NOMBRE TN
LEFT OUTER JOIN TABLA_AUXILIARES ON TA.DNI = TN.DNI
LEFT OUTER JOIN TABLA_SUELDO ON TS.DNI = TN.DNI
INNER JOIN TABLA_PLANILLA TP ON TP.TIPO_PLANILLA = TS.TIPO_PLANILLA
INNER JOIN TABLA_PERIODO P ON P.MES = TS.MES

WHERE (TP.TIPO_PLANILLA='ADM') AND (P.MES='ENERO')


Sólo una pregunta, las dos últimas tablas, ¿sólo tienen ese campo?, si es así no veo razón de agregarlas al query, con la tabla_sueldo puedes hacer el filtro.

Saludos
  • 0

#3 mrfred

mrfred

    Member

  • Miembros
  • PipPip
  • 10 mensajes

Escrito 04 abril 2013 - 07:00

Gracias por tu respuesta, probe la consulta y no aparece nada  :, bueno toy modificandola a ver por donde esta el asunto.
  • 0

#4 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 04 abril 2013 - 09:56

Gracias por tu respuesta, probe la consulta y no aparece nada  :, bueno toy modificandola a ver por donde esta el asunto.


Saludos

La posible razón por la cual no te aparecen los datos es porque en la Tabla_Planilla o Tabla_Periodo está vacía.

Una pregunta, sin mala intención, ¿Entiendes la sentencia SQL que @egostar te ofreció?
  • 0




IP.Board spam blocked by CleanTalk.