Ir para conteúdo
Fórum Script Brasil

Jedais

Membros
  • Total de itens

    3
  • Registro em

  • Última visita

Sobre Jedais

Jedais's Achievements

0

Reputação

  1. Jedais

    Último Registro

    Boa tarde Andreia, Agradeço pela ajuda, porém, com este código a consulta retorna apenas a última nota fiscal da base de dados, quando deveria retornar apenas a última ocorrência associada a cada nota fiscal. Obrigado
  2. 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
  3. Boa tarde, Gostaria de uma ajuda para otimizar a query abaixo. O resultado é de 9000 linhas em =~8/9 min. Obrigado. SELECT DISTINCT (N.IDNOTA) AS ID_NOTA_FISCAL, (N.CDNOTA) AS NO_NOTA_FISCAL, (C.CDPARCEIROCOMERCIAL) AS COD_COMPANHIA, (C.NMPARCEIROCOMERCIAL) AS NOME_COMPANHIA, (T.CDTRANSPORTADORA) AS COD_TRANSP, (T.DSAPELIDOTRANSPORTADORA) AS NOME_TRANSP, CONVERT (VARCHAR,N.DTEMBARQUE,103) AS DATA_EMBARQUE, (RR.DSREFERENCIA) AS ROMANEIO_TIPO_VIAGEM, (EQ.CDEQUIPAMENTO) AS COD_EQUIPAMENTO, (D.CDPARCEIROCOMERCIAL) AS COD_DESTINATARIO, (D.NMPARCEIROCOMERCIAL) AS NOME_DESTINATARIO, (CID.NMCIDADE) AS CID_DESTINO, (UF.CDUF) AS UF_DESTINO, (R.CDROMANEIO) AS ROMANEIO, ROUND (SUM(I.VRNTAITEM),2)/ROUND(COUNT(DISTINCT I.IDITEM),2) AS VR_NOTA_FISCAL, ROUND (SUM(LNP.VRFRETERATEIOPREVISTO),2)/ROUND (COUNT(DISTINCT I.IDITEM),2) AS VR_FR_PREVISTO, ROUND (SUM(I.QTPESOBRUTO),2)/ROUND (COUNT(DISTINCT I.IDITEM),2) AS QT_PESO_BRUTO, ROUND (SUM(I.QTVOLUME),2)/ROUND (COUNT(DISTINCT I.IDITEM),2) AS QT_VOLUMES, (RN.DSREFERENCIA) AS CANAL_VENDAS, (E.DSEVENTO) AS EVENTO, (N.DSLOTE) AS LOTE, ROUND (SUM(LNP.VRFRETERATEIOCOBRADO),2)/ROUND (COUNT(DISTINCT I.IDITEM),2) AS VR_FR_COBRADO, ROUND (SUM(LNP.VRAPAGARCOBRADO),2)/ROUND (COUNT(DISTINCT I.IDITEM),2) AS VR_FR_A_PAGAR_COBRADO, (TN.CDTIPONOTA) AS COD_TIPO_NOTA, (TN.DSTIPONOTA) AS DESC_TIPO_NOTA, (UFR.DSUFREGIAO) AS REGIAO_UF, CASE N.TPFRETE WHEN 1 THEN 'CIF' WHEN 2 THEN 'FOB' END AS TIPO_FRETE FROM GKOSCF.FMNOTA AS N LEFT JOIN GKOSCF.FCTRANSP AS T ON N.IDTRANSPORTADORA = T.IDTRANSPORTADORA LEFT JOIN GKOSCF.FCPARCOM AS C ON N.IDPAREMITENTE = C.IDPARCEIROCOMERCIAL LEFT JOIN GKOSCF.FCPARCOM AS D ON N.IDPARDESTREMET = D.IDPARCEIROCOMERCIAL LEFT JOIN GKOSCF.FRCONNTA AS RLN ON N.IDNOTA = RLN.IDNOTA LEFT JOIN GKOSCF.FMCONHEC AS L ON RLN.IDCONHECIMENTO = L.IDCONHECIMENTO LEFT JOIN GKOSCF.FCCIDADE AS CID ON L.IDCIDDESTINO = CID.IDCIDADE LEFT JOIN GKOSCF.FCUF AS UF ON CID.IDUF = UF.IDUF LEFT JOIN GKOSCF.FCEVENTO AS E ON L.IDEVENTOPRINCIPAL = E.IDEVENTO LEFT JOIN GKOSCF.FRCONOCO AS RLO ON L.IDCONHECIMENTO = RLO.IDCONHECIMENTO LEFT JOIN GKOSCF.FMOCORRE AS O ON RLO.IDOCORRENCIA = O.IDOCORRENCIA LEFT JOIN GKOSCF.FCTPOOCO AS TPO ON TPO.IDTIPOOCORRENCIA = O.IDTIPOOCORRENCIA LEFT JOIN GKOSCF.FMCONRAT AS LNP ON N.IDNOTA = LNP.IDNOTA LEFT JOIN GKOSCF.FCUFREG AS UFR ON UF.IDUFREGIAO = UFR.IDUFREGIAO LEFT JOIN GKOSCF.FMROMANE AS R ON N.IDROMANEIO = R.IDROMANEIO LEFT JOIN GKOSCF.FCEQUIPA AS EQ ON R.IDEQUIPAMENTO = EQ.IDEQUIPAMENTO LEFT JOIN GKOSCF.FMNTAITM AS I ON N.IDNOTA = I.IDNOTA LEFT JOIN GKOSCF.FCTPNOTA AS TN ON N.IDTIPONOTA = TN.IDTIPONOTA LEFT JOIN GKOSCF.FMREFER AS RN ON N.IDNOTA = RN.IDMOVIMENTO LEFT JOIN GKOSCF.FMREFER AS RR ON R.IDROMANEIO = RR.IDMOVIMENTO WHERE L.IDEVENTOPRINCIPAL = '1' AND L.DTEMBARQUE BETWEEN '1/1/2015' AND '2/1/2015' GROUP BY N.IDNOTA, N.CDNOTA, C.CDPARCEIROCOMERCIAL, C.NMPARCEIROCOMERCIAL, T.CDTRANSPORTADORA, T.DSAPELIDOTRANSPORTADORA, N.DTEMBARQUE, RR.DSREFERENCIA, RN.DSREFERENCIA, EQ.CDEQUIPAMENTO, D.CDPARCEIROCOMERCIAL, D.NMPARCEIROCOMERCIAL, CID.NMCIDADE, UF.CDUF, R.CDROMANEIO, N.VRPESOBRUTO, N.QTVOLUME, E.DSEVENTO, N.DSLOTE, TN.CDTIPONOTA, TN.DSTIPONOTA, UFR.DSUFREGIAO, N.TPFRETE ORDER BY N.CDNOTA ASC
×
×
  • Criar Novo...