[firebase-br] Excluir Registro duplicado e manter somente um deles
Robson Carvalho Leite
robsoncarvalholeite em gmail.com
Qui Out 8 12:58:33 -03 2009
Olha, não testei, pois estou no open solaris e nao tenho o FB
instalado aqui, mas poderia usar a função TOP, pegando o 1º registro
de cada tuplas duplicadas:
Exemplo:
Tabela: TOMADORES
Indice: CODIGO
Campo Duplicado: NOME
__________________________
DELETE FROM TOMADORES
WHERE NOT CODIGO IN (SELECT (SELECT TOP 1 CODIGO FROM TOMADORES WHERE
(NOME = T.NOME))
FROM TOMADORES T
GROUP BY T.TOMADORES)
Explicação: (Fora pra Dentro)
1- Delete todos os registros que NÃO (not) estiver dentro da lista (1º Select).
2- 1º Select - Seleciona todos os registros da tabela (agrupando pelo
campo Duplicado (NOME))
3- 2º Select - Pega somente o PRIMEIRO Indice de cada tuplas
duplicadas, (filtrado pelo grupo de tuplas duplicadas informados pelo
1º Select)
Pronto, só isso, simples como 1 + 1 é 0. rsrs
Qualquer dúvida, só retornar... espero ter dado uma ideia para
qualquer um que precisar de algo no mesmo sentido (como eu sempre
preciso).
Desculpa se alguma semantica não esta batendo, mas nao pude testar,
pois estou no Open Solaris e ainda não tive como fazer o FB funcionar
aqui. mas a ídeia é essa.
Ass: Robson Leite - Microcamp Internacional
Mais detalhes sobre a lista de discussão lista