Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta de 2 tablas

Estas en el tema de Consulta de 2 tablas en el foro de SQL Server en Foros del Web. Buenas SQLeros !!! Tengo una duda, tengo 2 tablas 1 que me indica las horas y días que un trabajador debe tener. ( " Select ...
  #1 (permalink)  
Antiguo 29/11/2013, 17:00
Avatar de Jhosep_Yan  
Fecha de Ingreso: noviembre-2013
Mensajes: 7
Antigüedad: 10 años, 5 meses
Puntos: 0
Exclamación Consulta de 2 tablas

Buenas SQLeros !!!

Tengo una duda, tengo 2 tablas 1 que me indica las horas y días que un trabajador debe tener. ( " Select * from PS_CPR_TEMP0007 " )

y la segunda que es donde se guardan los registros del trabajador días y horas de ingreso y salida. ( "Select * from PS_CPR_TEMP0006 = )

LA DUDA ES: si un trabajador tiene 4 registros, 2 de entrada y 2 de salida en un día, no puedo usar el MIN () ni el MAX () ya que me traería el primer y ultimo valor.

COMO PODRIA HACER ???

LES DEJO LOS CODIGOS


Código SQL:
Ver original
  1. SELECT * FROM PS_CPR_TEMP0007 --Horario por dias y calendario
  2.  
  3. INSERT INTO PS_CPR_TEMP0007 ( PROCESS_INSTANCE
  4.  , EMPLID
  5.  , EMPL_RCD
  6.  , BUSINESS_UNIT
  7.  , START_DT
  8.  , DAYOFWK_MON
  9.  , FLAG
  10.  , CPR_FST_ASG_FLD
  11.  , STRT_STOP_DIFF
  12.  , START_TIME
  13.  , END_TIME
  14.  , KZN_CR_IDNM )
  15.  SELECT A.PROCESS_INSTANCE
  16.  , B.EMPLID
  17.  , B.EMPL_RCD
  18.  , B.BUSINESS_UNIT
  19.  , A.START_DT
  20.  , A.DAYOFWK_MON
  21.  , B.FLAG
  22.  , B.CPR_FST_ASG_FLD
  23.  , B.STRT_STOP_DIFF
  24.  , B.START_TIME
  25.  , B.END_TIME
  26.  , B.KZN_CR_IDNM
  27.   FROM PS_CPR_TEMP0005 A
  28.   , PS_CPR_TEMP0003 B
  29.  WHERE A.DAYOFWK_MON = B.DAYOFWK_MON
  30.    AND A.PROCESS_INSTANCE = B.PROCESS_INSTANCE
  31.    AND A.PROCESS_INSTANCE = %ProcessInstance
  32.   ORDER BY B.EMPLID, B.EMPL_RCD, A.START_DT, B.START_TIME
  33.  
  34.  
  35.  
  36.  
  37. SELECT * FROM PS_CPR_TEMP0006 --Marca Realizadas por dia
  38.  
  39. INSERT INTO PS_CPR_TEMP0006 ( PROCESS_INSTANCE
  40.  , EMPLID
  41.  , EMPL_RCD
  42.  , COMPANY
  43.  , NRO_TARJETA_ETB
  44.  , KZNPE12_TLE011
  45.  , DATE1
  46.  , START_TIME
  47.  , KZN_DSC_RELOJ
  48.  , SEQ_NBR
  49.  , FLAG
  50.  , DAYOFWK_MON)
  51.  SELECT A.PROCESS_INSTANCE
  52.  , A.EMPLID
  53.  , A.EMPL_RCD
  54.  , A.COMPANY
  55.  , A.NRO_TARJETA_ETB
  56.  , A.KZNPE12_TLE011
  57.  , A.DATE1
  58.  , A.START_TIME
  59.  , A.KZN_DSC_RELOJ
  60.  , A.SEQ_NBR
  61.  , A.FLAG
  62.  , B.DAYOFWK_MON
  63.   FROM PS_CPR_TEMP0004 A
  64.   , PS_CPR_TEMP0005 B
  65.  WHERE A.PROCESS_INSTANCE = B.PROCESS_INSTANCE
  66.    AND A.DATE1 = B.START_DT
  67.    AND A.PROCESS_INSTANCE = %ProcessInstance

Última edición por gnzsoloyo; 29/11/2013 a las 17:25
  #2 (permalink)  
Antiguo 29/11/2013, 20:01
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Consulta de 2 tablas

pon un ejemplo de tus datos, que asi como lo manejas no te puedo dar una respuesta.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: insert, registro, select, sql, tabla, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:05.