Jump to content
Marcelo Todaro

Sql: quando "select distinct" não evita repetições

Recommended Posts

Caríssimos,

O algoritmo abaixo é a versão simplificada de um script SQL que preciso rodar:

select distinct
CODIGO,
DATA_ATUALIZACAO,
DATA_APROVACAO
from TABELA
where
ORDEM_SERVICO = '1'
and DATA_CRIACAO <= to_date('01/10/2021','dd/mm/yyyy')
and ((DATA_ATUALIZACAO like to_date(SYSDATE,'dd/mm/yyyy') or DATA_APROVACAO like to_date(SYSDATE,'dd/mm/yyyy'))
order by CODIGO
;

Mesmo usando "distinct" o resultado retorna valores repetidos de "CODIGO" quando "ORDEM_SERVICO" é 1 para mais de um campo ao mesmo tempo.

Agradeço dicas de como evitar essa repetição.

Share this post


Link to post
Share on other sites

Marcelo, bom dia. Tudo bem?

Não ficou muito claro o que está querendo... Você quer ver todos os registros que tenham o Codigo for igual a 1 ? Se sim, virão N registros nessa sua consulta, que tenham o CODIGO = 1 e que tenham valores diferentes nos demais campos que pediu pra visualizar, como as datas de Atualização e Aprovação.

O comando SELECT DISTINCT neste caso, trará todos os registros diferentes com essa combinação que está solicitando : CODIGO + DATA_ATUALIZACAO + DATA_APROVACAO. Se tiverem vários com o codigo 1 e datas diferentes, virão todos eles, sendo um registro retornado para cada combinação exatamente igual. 

    

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.