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'
Question
Jedais 0
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 to post
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.