Visualização duplicada

25/08/2010

0

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

Elton ésqui

Responder

Posts

25/08/2010

Elton ésqui

Faltavam uns detalhes...Resolvido!
Obrigado!

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

Responder

19/10/2010

Elton ésqui

Favor encerrar o tópico!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar