 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
valdimari Novato

Registrado: Segunda-Feira, 26 de Fevereiro de 2007 Mensagens: 19
|
Enviada: Ter Jul 31, 2012 2:14 pm Assunto: Agrupando dados [Resolvido] |
|
|
Pessoal,
Boa Tarde !!!
Estou trabalhando em uma migração de .DBF para o Firebird.
Para algumas migrações de tabelas tenho usado o IBExpert. Importo a tabela .DBF para o banco e alimento a tabela oficial do banco.
Hoje, me deparei com o seguinte problema:
A tabela tem como chave unica 3 campos, mas alguns registros estão com a chave duplicada. No select para inserção não consigo usar o Group by, pois existem mais campos e nem o Distinct, porque nos outros campos existem informações diferentes, na qual devo escolher apenas uma, com isso os registros duplicados continuam sendo buscados. Tentei:
GROUP BY - dá erro de agrupamento, pois no Group deveriam estar todos campos, mas aí eu perco a consistência que preciso.
select CAMPO1, CAMPO2, CAMPO3, CAMPO4, CAMPO5, CAMPO6
from TABELA
group by CAMPO1, CAMPO2, CAMPO3
DISTINCT - não me dá a consistência que preciso.
select Distinct CAMPO1, CAMPO2, CAMPO3, CAMPO4, CAMPO5, CAMPO6
from TABELA
O que preciso é agrupar com os 3 primeiros campos, podendo selecionar todos os campos da tabela para a inserção na outra.
Desde já agradeço...
Editado pela última vez por valdimari em Qua Ago 01, 2012 3:43 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jul 31, 2012 2:33 pm Assunto: |
|
|
Boa tarde,
Acho que uma alternativa mais simples, mas que não sei se atenderá a sua necessidade, seria utilizar alguma função de agregação como Min ou Max nos outros campos:
Código: | select CAMPO1, CAMPO2, CAMPO3, min(CAMPO4), min(CAMPO5), min(CAMPO6)
from TABELA
group by CAMPO1, CAMPO2, CAMPO3 |
Se não atender, acho que você teria que passar qual seria o critério para definir qual registro ou quais valores devem prevalecer.
Espero que ajude.
Editado pela última vez por imex em Ter Out 03, 2023 3:43 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
valdimari Novato

Registrado: Segunda-Feira, 26 de Fevereiro de 2007 Mensagens: 19
|
Enviada: Ter Jul 31, 2012 2:56 pm Assunto: Resolvido |
|
|
imex,
Atendeu.
Funcionou perfeitamente.
Muito Obrigado. |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jul 31, 2012 3:03 pm Assunto: |
|
|
Blz, agradeço o retorno. |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|