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 originalSELECT * FROM PS_CPR_TEMP0007 --Horario por dias y calendario
INSERT INTO PS_CPR_TEMP0007 ( PROCESS_INSTANCE
, EMPLID
, EMPL_RCD
, BUSINESS_UNIT
, START_DT
, DAYOFWK_MON
, FLAG
, CPR_FST_ASG_FLD
, STRT_STOP_DIFF
, START_TIME
, END_TIME
, KZN_CR_IDNM )
SELECT A.PROCESS_INSTANCE
, B.EMPLID
, B.EMPL_RCD
, B.BUSINESS_UNIT
, A.START_DT
, A.DAYOFWK_MON
, B.FLAG
, B.CPR_FST_ASG_FLD
, B.STRT_STOP_DIFF
, B.START_TIME
, B.END_TIME
, B.KZN_CR_IDNM
FROM PS_CPR_TEMP0005 A
, PS_CPR_TEMP0003 B
WHERE A.DAYOFWK_MON = B.DAYOFWK_MON
AND A.PROCESS_INSTANCE = B.PROCESS_INSTANCE
AND A.PROCESS_INSTANCE = %ProcessInstance
ORDER BY B.EMPLID, B.EMPL_RCD, A.START_DT, B.START_TIME
SELECT * FROM PS_CPR_TEMP0006 --Marca Realizadas por dia
INSERT INTO PS_CPR_TEMP0006 ( PROCESS_INSTANCE
, EMPLID
, EMPL_RCD
, COMPANY
, NRO_TARJETA_ETB
, KZNPE12_TLE011
, DATE1
, START_TIME
, KZN_DSC_RELOJ
, SEQ_NBR
, FLAG
, DAYOFWK_MON)
SELECT A.PROCESS_INSTANCE
, A.EMPLID
, A.EMPL_RCD
, A.COMPANY
, A.NRO_TARJETA_ETB
, A.KZNPE12_TLE011
, A.DATE1
, A.START_TIME
, A.KZN_DSC_RELOJ
, A.SEQ_NBR
, A.FLAG
, B.DAYOFWK_MON
FROM PS_CPR_TEMP0004 A
, PS_CPR_TEMP0005 B
WHERE A.PROCESS_INSTANCE = B.PROCESS_INSTANCE
AND A.DATE1 = B.START_DT
AND A.PROCESS_INSTANCE = %ProcessInstance