Array
(
)

Visualização duplicada

Elton Ésqui
   - 25 ago 2010

Caros

No select abaixo eu tenho dois horarios de inicio do operador na mesma data, só que estou com um problema. Não quero que exiba o início caso o operador não tenha iniciado alguma pausa.

SELECT DISTINCT
  V.CODIGO,
  V.NOME,
  V.TEMPO_TURNO,
  L.INI_OPER,
  L.FIM_OPER,
  O.INI_PAUSA,
  O.FIM_PAUSA,
  M.DESCRICAO AS MOTIV_PAUSAS,
  O.DATA AS DATA_PAUSAS,
  L.DATA AS DATA_INI_OPER
FROM
  LIG_CAB L
  INNER JOIN VROPERAD V ON (V.CODIGO = L.OPERADOR)
  LEFT OUTER JOIN OPEPAUSA O ON (O.OPERADOR = L.OPERADOR)
  AND (O.DATA = L.DATA)
  LEFT OUTER JOIN MPAUSA M ON (M.CODIGO = O.MOTIVO)
WHERE
  L.DATA = '08/19/2010' AND
  V.CODIGO BETWEEN 1 AND 9
ORDER BY
  V.CODIGO,
  L.DATA

Estaria assim:

OP   Nome   Ini op   Ini pau   Fim pau
1    Joao    8:30    09:00    10:00
1    Joao   11:00    09:00    10:00

O que está acontecendo é que ele exibe a pausa anterior nesse "novo" logon.
O Joao iniciou a operação duas vezes no mesmo dia, mas na segunda não houve pausas.

Obrigado!

Elton Ésqui
   - 25 ago 2010

Faltavam uns detalhes...Resolvido!
Obrigado!

#Código

SELECT DISTINCT 
  L.OPERADOR,
  L.DATA AS DATA_INI_OPER,
  V.CODIGO,
  V.NOME,
  L.INI_OPER,
  L.FIM_OPER,
  V.TEMPO_TURNO,
  O.INI_PAUSA,
  O.FIM_PAUSA,
  M.DESCRICAO AS MOTIV_PAUSAS,
  O.DATA AS DATA_PAUSAS
FROM
  LIG_CAB L
  INNER JOIN VROPERAD V ON (V.CODIGO = L.OPERADOR)
  LEFT OUTER JOIN OPEPAUSA O ON (O.OPERADOR = L.OPERADOR)
  AND (O.DATA = L.DATA)
  AND (L.SEQUENCIA = O.SEQUENCIA)
  LEFT OUTER JOIN MPAUSA M ON (M.CODIGO = O.MOTIVO)
WHERE
  L.DATA = '08/19/2010' AND 
  V.CODIGO BETWEEN 1 AND 9
ORDER BY
  V.CODIGO,
  L.DATA,
  L.SEQUENCIA

Elton Ésqui
   - 19 out 2010

Favor encerrar o tópico!