Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Delete com Restrição


João Carlos C.

Pergunta

Alguém pode ajudar nessa sql

DELETE FROM USUARIOS_CONT_PRIMARIO ucp WHERE ucp.USER_CONT_USER IN 

(SELECT USER_CONT_USER
FROM USUARIOS_CONT_PRIMARIO ucp1 GROUP BY ucp1.USER_CONT_USER
having COUNT(ucp1.USER_CONT_USER) > 1 ) 

AND ucp.USER_CONT_DATAMOD NOT IN (SELECT max(USER_CONT_DATAMOD)
                           FROM USUARIOS_CONT_PRIMARIO ucp2
                           WHERE ucp2.USER_CONT_USER = ucp1.USER_CONT_USER)

Preciso selecionar e deletar todos que estão repetidos menos o mais recente verificando o campo USER_CONT_DATAMOD;

Desde já agradeço

Editado por Denis Courcy
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Tenta isso aí e responde se deu certo:

delete ucp
from usuarios_cont_primario as ucp
inner join (
    select user_cont_user, max(user_cont_datamod) as user_cont_datamod
    from usuarios_cont_primario
    group by user_cont_user
    having count(user_cont_user) > 1
) as repetidos on ucp.user_cont_user = repetidos.user_cont_user
where 
    ucp.user_cont_datamod < repetidos.user_cont_datamod

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...