Preciso executar uma consulta buscando campos da tabela de notas fiscais (tabela N), bem como as ocorrências (tabela O) e transportadora (tabela T) associadas a ela.
Como uma nota fiscal pode conter mais de uma ocorrência (Tabela N - Tabela O : 1-N) quero retornar somente a última ocorrência associada, ou seja, a que contém maior ID (O.IDOCORRENCIA).
Alguém consegue me ajudar? Segue consulta abaixo:
SELECT DISTINCT
(N.IDNOTA) AS ID_NF,
CONVERT (VARCHAR,N.DTEMISSAO,103) AS DT_EMISSAO,
(T.DSAPELIDOTRANSPORTADORA) AS TRANSPORTADORA,
(O.IDOCORRENCIA) AS ID_OCORRENCIA,
(TPO.DSTIPOOCORRENCIA) AS OCORRENCIA,
FROM GKOSCF.FMNOTA N
LEFT JOIN GKOSCF.FMOCORRE O ON N.IDNOTA = O.IDMOVIMENTO
LEFT JOIN GKOSCF.FCTRANSP T ON N.IDTRANSPORTADORA = T.IDTRANSPORTADORA
LEFT JOIN GKOSCF.FCTPOOCO TPO ON O.IDTIPOOCORRENCIA = TPO.IDTIPOOCORRENCIA
WHERE N.DTEMISSAO > '01/01/2017'
AND N.CDSERIE = '3'
Pergunta
Jedais
Boa tarde,
Preciso executar uma consulta buscando campos da tabela de notas fiscais (tabela N), bem como as ocorrências (tabela O) e transportadora (tabela T) associadas a ela.
Como uma nota fiscal pode conter mais de uma ocorrência (Tabela N - Tabela O : 1-N) quero retornar somente a última ocorrência associada, ou seja, a que contém maior ID (O.IDOCORRENCIA).
Alguém consegue me ajudar? Segue consulta abaixo:
SELECT DISTINCT
(N.IDNOTA) AS ID_NF,
CONVERT (VARCHAR,N.DTEMISSAO,103) AS DT_EMISSAO,
(T.DSAPELIDOTRANSPORTADORA) AS TRANSPORTADORA,
(O.IDOCORRENCIA) AS ID_OCORRENCIA,
(TPO.DSTIPOOCORRENCIA) AS OCORRENCIA,
FROM GKOSCF.FMNOTA N
LEFT JOIN GKOSCF.FMOCORRE O ON N.IDNOTA = O.IDMOVIMENTO
LEFT JOIN GKOSCF.FCTRANSP T ON N.IDTRANSPORTADORA = T.IDTRANSPORTADORA
LEFT JOIN GKOSCF.FCTPOOCO TPO ON O.IDTIPOOCORRENCIA = TPO.IDTIPOOCORRENCIA
WHERE N.DTEMISSAO > '01/01/2017'
AND N.CDSERIE = '3'
O resultado retornado atualmente é:
Obrigado
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.