Ir para conteúdo
  • 0

Função de Agregação


Glêdston Sousa

Pergunta

  • Alunos

Amigos, estou tentando configurar uma view para extrair informações de um banco de dados e tenho a seguinte situacao  tenho uma seguencia porem eu gostraria que me retornasse somente a linha da maior seguencia, 

JA coloquei o max(seqveloc) no select e o group by  mas sem sucesso.

Agradeço desde ja. 

Segue o select: 

SELECT

F.CODIGOVEIC,

F.DATAABASTCARRO,

I.QTDEITEMABASTCARRO,

TO_CHAR(TO_DATE(TO_CHAR(HORAVELOC,'HH24:MI'),'HH24:MI'),'DD/MM/YYYY HH24:MI') HORA,

A.HODINICIALVELOC,

A.HODFINALVELOC,

A.KMPERCORRIDOVELOC,

SUBSTR((SELECT FC.PREFIXOVEIC FROM FRT_CADVEICULOS FC WHERE F.CODIGOVEIC = FC.CODIGOVEIC),4,4 )PREFIXO,

A.SEQVELOC

 

FROM ABA_ABASTECIMENTOCARRO F,

ABA_ITEMABASTCARRO I,

BGM_VELOCIMETRO A

 

WHERE F.DATAABASTCARRO = TO_DATE('01/02/2023 00:00:00', 'DD/MM/YYYY HH24:MI:SS') AND

F.CODIGOVEIC = I.CODIGOVEIC(+) AND

F.DATAABASTCARRO = I.DATAABASTCARRO(+) AND

F.DATAABASTCARRO = I.DATAABASTCARRO(+) AND

A.DATAVELOC = F.DATAABASTCARRO(+) AND

A.SEQUENCIAVELOC = F.SEQUENCIAABASTCARRO(+) AND

A.CODIGOVEIC = F.CODIGOVEIC(+) AND

F.SEQUENCIAABASTCARRO = I.SEQUENCIAABASTCARRO (+) and

i.CODIGOTPOLEO = 2

 

 

SEQveloc.jpg.png.d08792f384d27a45003ce5c1fe1c9751.png

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 1
  • Alunos

Olá @Glêdston Sousa, tenta colocando o MAX nas colunas de hodômetro inicial,  final e sequência e remova a coluna de km percorrido e deixe pra calcular ela depois em um novo select from.

Veja um exemplo abaixo:

 

SELECT A.*, 

              A.HODFINALVELOC - A.HODFINALVELOC AS KMPERCORRIDOVELOC

FROM

(SELECT

F.CODIGOVEIC,

F.DATAABASTCARRO,

I.QTDEITEMABASTCARRO,

TO_CHAR(TO_DATE(TO_CHAR(HORAVELOC,'HH24:MI'),'HH24:MI'),'DD/MM/YYYY HH24:MI') HORA,

MAX(A.HODINICIALVELOC) AS HODFINALVELOC,

MAX(A.HODFINALVELOC) AS HODFINALVELOC,

--A.KMPERCORRIDOVELOC,

SUBSTR((SELECT FC.PREFIXOVEIC FROM FRT_CADVEICULOS FC WHERE F.CODIGOVEIC = FC.CODIGOVEIC),4,4 )PREFIXO,

MAX(A.SEQVELOC) AS SEQVELOC

FROM ABA_ABASTECIMENTOCARRO F,

ABA_ITEMABASTCARRO I,

BGM_VELOCIMETRO A

WHERE F.DATAABASTCARRO = TO_DATE('01/02/2023 00:00:00', 'DD/MM/YYYY HH24:MI:SS') AND

F.CODIGOVEIC = I.CODIGOVEIC(+) AND

F.DATAABASTCARRO = I.DATAABASTCARRO(+) AND F.DATAABASTCARRO = I.DATAABASTCARRO(+) AND A.DATAVELOC = F.DATAABASTCARRO(+) AND

A.SEQUENCIAVELOC = F.SEQUENCIAABASTCARRO(+) AND

A.CODIGOVEIC = F.CODIGOVEIC(+) AND

F.SEQUENCIAABASTCARRO = I.SEQUENCIAABASTCARRO (+) and

i.CODIGOTPOLEO = 2

GROUP BY F.CODIGOVEIC,

F.DATAABASTCARRO,

I.QTDEITEMABASTCARRO,

HORAVELOC,

F.CODIGOVEIC

) A

 

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • 0
  • Alunos
Em 10/02/2024 em 12:51, Renato Carlos Rossato disse:

Olá @Glêdston Sousa, tenta colocando o MAX nas colunas de hodômetro inicial,  final e sequência e remova a coluna de km percorrido e deixe pra calcular ela depois em um novo select from.

Veja um exemplo abaixo:

 

SELECT A.*, 

              A.HODFINALVELOC - A.HODFINALVELOC AS KMPERCORRIDOVELOC

FROM

(SELECT

F.CODIGOVEIC,

F.DATAABASTCARRO,

I.QTDEITEMABASTCARRO,

TO_CHAR(TO_DATE(TO_CHAR(HORAVELOC,'HH24:MI'),'HH24:MI'),'DD/MM/YYYY HH24:MI') HORA,

MAX(A.HODINICIALVELOC) AS HODFINALVELOC,

MAX(A.HODFINALVELOC) AS HODFINALVELOC,

--A.KMPERCORRIDOVELOC,

SUBSTR((SELECT FC.PREFIXOVEIC FROM FRT_CADVEICULOS FC WHERE F.CODIGOVEIC = FC.CODIGOVEIC),4,4 )PREFIXO,

MAX(A.SEQVELOC) AS SEQVELOC

FROM ABA_ABASTECIMENTOCARRO F,

ABA_ITEMABASTCARRO I,

BGM_VELOCIMETRO A

WHERE F.DATAABASTCARRO = TO_DATE('01/02/2023 00:00:00', 'DD/MM/YYYY HH24:MI:SS') AND

F.CODIGOVEIC = I.CODIGOVEIC(+) AND

F.DATAABASTCARRO = I.DATAABASTCARRO(+) AND F.DATAABASTCARRO = I.DATAABASTCARRO(+) AND A.DATAVELOC = F.DATAABASTCARRO(+) AND

A.SEQUENCIAVELOC = F.SEQUENCIAABASTCARRO(+) AND

A.CODIGOVEIC = F.CODIGOVEIC(+) AND

F.SEQUENCIAABASTCARRO = I.SEQUENCIAABASTCARRO (+) and

i.CODIGOTPOLEO = 2

GROUP BY F.CODIGOVEIC,

F.DATAABASTCARRO,

I.QTDEITEMABASTCARRO,

HORAVELOC,

F.CODIGOVEIC

) A

 

Espero ter ajudado.

Não deu certo! vou bater cabeça mais agradeço o apoio 

Link para o comentário
Compartilhar em outros sites

Faça login para comentar

Você vai ser capaz de deixar um comentário após fazer o login



Entrar Agora
×
×
  • Criar Novo...