Select Incluíndo somente dados iguais..
Salve galera..
Numa tabela tenho 4 campos com keyfield :
C_COD_COLABORADOR, C_DATA_HORA_ENTRADA, C_DATA_HORA_SAIDA, C_STATUS_LANCAMENTO.
Preciso excluir o último campo, mas a tabela já tem muitos dados, portanto não posso apagá-la por completo...
o problema é que existem alguns lançamento assim ex:
COLABORADOR DATA_HORA_ENTRADA DATA_HORA_SAIDA C_STATUS
00000001 10/01/2006 10/01/2006 F
00000001 10/01/2006 10/01/2006 A
E NÃO PODE EXISTIR DOIS LANÇAMENTOS ASSIM...
portanto preciso excluir o campo C_STATUS_LANCAMENTO para não haver mais este tipo de erro..
mas acontece que acredito que já ocorreu este erro, pois tentei alterar todos os status para ´A´, e deu erro de chave primária, dizendo que existe uma ou mais linhas iguais.. o mesmo erro ocorre quando tento simplismente excluir o campo C_STATUS_LANCAMENTO do primary key
mas como tem muitos registros nesta tabela, fica difícil ir um a um e excluir os errados, preciso de um select que me traga somento os ´duplicado´...
será que existe uma maneira?????
agradeço a todos antecipadamente.
Numa tabela tenho 4 campos com keyfield :
C_COD_COLABORADOR, C_DATA_HORA_ENTRADA, C_DATA_HORA_SAIDA, C_STATUS_LANCAMENTO.
Preciso excluir o último campo, mas a tabela já tem muitos dados, portanto não posso apagá-la por completo...
o problema é que existem alguns lançamento assim ex:
COLABORADOR DATA_HORA_ENTRADA DATA_HORA_SAIDA C_STATUS
00000001 10/01/2006 10/01/2006 F
00000001 10/01/2006 10/01/2006 A
E NÃO PODE EXISTIR DOIS LANÇAMENTOS ASSIM...
portanto preciso excluir o campo C_STATUS_LANCAMENTO para não haver mais este tipo de erro..
mas acontece que acredito que já ocorreu este erro, pois tentei alterar todos os status para ´A´, e deu erro de chave primária, dizendo que existe uma ou mais linhas iguais.. o mesmo erro ocorre quando tento simplismente excluir o campo C_STATUS_LANCAMENTO do primary key
mas como tem muitos registros nesta tabela, fica difícil ir um a um e excluir os errados, preciso de um select que me traga somento os ´duplicado´...
será que existe uma maneira?????
agradeço a todos antecipadamente.
Cabelo
Curtidas 0
Respostas
Gandalf.nho
01/02/2006
SELECT C_COD_COLABORADOR, C_DATA_HORA_ENTRADA, C_DATA_HORA_SAIDA, COUNT(*) FROM tabela GROUP BY C_COD_COLABORADOR, C_DATA_HORA_ENTRADA, C_DATA_HORA_SAIDA HAVING COUNT(*) > 1
GOSTEI 0
Cabelo
01/02/2006
Muito obrigado... funcionou perfeitamente...
estava me faltando conhecimento na cláusula Having.....
estava me faltando conhecimento na cláusula Having.....
GOSTEI 0