SQL pra encontrar registros duplicados
Olá tenho um banco de dados que piossui o campo DCB, que verá ser unico, o problema é que os dados vieram direto do CRF então existe registros duplicados... pois somente pode existir um DCB no banco de dados..
tipo... como faço pra fazer um SQL pra me mostrar todos os REgistro duplicados pelo DCB? e posteriormente deletar o de Codigo Maior.
desde ja agradeco
[]s
tipo... como faço pra fazer um SQL pra me mostrar todos os REgistro duplicados pelo DCB? e posteriormente deletar o de Codigo Maior.
desde ja agradeco
[]s
Titanius
Curtidas 0
Melhor post
Gandalf.nho
26/11/2004
SELECT DCB, Count(*) FROM nome_tabela
GROUP BY DCB
HAVING Count(*) > 1
GROUP BY DCB
HAVING Count(*) > 1
GOSTEI 12
Mais Respostas
Titanius
26/11/2004
neste caso, me retorna somente os duplicados correto?
GOSTEI 0
Titanius
26/11/2004
e como faco pra fazer adelecao destes registros?
GOSTEI 0
Gandalf.nho
26/11/2004
neste caso, me retorna somente os duplicados correto?
Sim
e como faco pra fazer adelecao destes registros?
Monte um código para passar por cada registro retornado pela query e use o valor como critério.
GOSTEI 0
Titanius
26/11/2004
valkeu manaw...
funfou perfeito aki....
valeu :lol:
[]s
funfou perfeito aki....
valeu :lol:
[]s
GOSTEI 0
Allan Gaspar
26/11/2004
select distinct
IDCLIENTE
from Cliente_Rotas
group by IDCLIENTE
having COUNT(IDCLIENTE)>1
IDCLIENTE
from Cliente_Rotas
group by IDCLIENTE
having COUNT(IDCLIENTE)>1
GOSTEI 2
Leandro Waszak
26/11/2004
No meu caso não funcionou, alguém pode me ajudar?
Não está trazendo só os duplicados.
---------------------------------------------------------------------------------
SELECT DISTINCT EC.CGC
FROM ENTIDADES_COMERCIAIS EC
WHERE EC.CGC > 0
AND EC.CGC IN (SELECT EC.CGC
FROM ENTIDADES_COMERCIAIS EC, PAPEIS_NO_NEGOCIO PP
WHERE EC.CODIGO_DA_ENTIDADE_COMERCIAL =
PP.CODIGO_DA_ENT_COMERCIAL_2
and pp.codigo_do_tipo_de_papel_nego + 0 = 30
and pp.codigo_do_tipo_de_segmento + 0 = 1
and pp.codigo_da_ent_comercial_2 not in
AND EC.CGC IS NOT NULL
GROUP BY EC.CGC,
EC.CODIGO_DA_ENTIDADE_COMERCIAL,
EC.NOME_DA_ENTIDADE_COMERCIAL,
PP.CODIGO_DA_ENT_COMERCIAL_1,
PP.DATA_DE_CANCELAMENTO,
PP.FILIAL_ORIGEM_CLIENTE_ATACADO)
HAVING COUNT(EC.CGC) > 1
GROUP BY EC.CGC;
Não está trazendo só os duplicados.
---------------------------------------------------------------------------------
SELECT DISTINCT EC.CGC
FROM ENTIDADES_COMERCIAIS EC
WHERE EC.CGC > 0
AND EC.CGC IN (SELECT EC.CGC
FROM ENTIDADES_COMERCIAIS EC, PAPEIS_NO_NEGOCIO PP
WHERE EC.CODIGO_DA_ENTIDADE_COMERCIAL =
PP.CODIGO_DA_ENT_COMERCIAL_2
and pp.codigo_do_tipo_de_papel_nego + 0 = 30
and pp.codigo_do_tipo_de_segmento + 0 = 1
and pp.codigo_da_ent_comercial_2 not in
AND EC.CGC IS NOT NULL
GROUP BY EC.CGC,
EC.CODIGO_DA_ENTIDADE_COMERCIAL,
EC.NOME_DA_ENTIDADE_COMERCIAL,
PP.CODIGO_DA_ENT_COMERCIAL_1,
PP.DATA_DE_CANCELAMENTO,
PP.FILIAL_ORIGEM_CLIENTE_ATACADO)
HAVING COUNT(EC.CGC) > 1
GROUP BY EC.CGC;
GOSTEI 0
Leandro Waszak
26/11/2004
Consegui da seguinte forma:
(...)
and 1 < (select count(1)
from entidades_comerciais ec2
where ec1.cgc = ec2.cgc)
(...)
(...)
and 1 < (select count(1)
from entidades_comerciais ec2
where ec1.cgc = ec2.cgc)
(...)
GOSTEI 0
Marcos Filho
26/11/2004
select *
into #tmp
from (
select *, row_number() over(partition by chave_primaria ou algo que distinta dos outros order by campo) as ordem
) as x
where ordem >1
into #tmp
from (
select *, row_number() over(partition by chave_primaria ou algo que distinta dos outros order by campo) as ordem
) as x
where ordem >1
GOSTEI 1
Andreia
26/11/2004
2.1 Modelo Conceitual
2.2 Modelo Lógico
2.3Descrição Relacional (do modelo alterado)
Departamentos (CodDpto, NomeDpto, CNPJDpto)
Funcionário (CodFunc, NomeFunc, CPFFunc, RGFunc, TelFunc, EndFunc, CargFunc, CepFunc)
DptoFunc (CodDpto,CodFunc)
CodFunc referencia Funcionário
CodDpto referencia Deparamento
Produtos (CodProd, NomeProd, TipoProd, MarcProd, CorProd, ValorProd, FornecProd, DescriçProd)
FuncProd (CodFunc, CodProd)
CodFunc referencia Funcionario
CodProd referencia Produto
Fornecedor (CNPJFornec, NomefantFornec, EndFornec, CidadFornec, CepFornec)
ProdFornec (CodProd, CNPJFornec)
CodProd referencia Produto
CNPJFornec referencia CNPJFornec
Compra (CodComp, ValorComp, DataComp, QuantTotalCompra)
ProdComp (CodComp, CodProd )
CodComp referencia Compra
CodProd referencia Produto
Cliente (CPFCli, NomeCli, RGCli, TelCli, EndCli, CidadCli, CepCli)
CliComp ( CPFCli, CodComp)
CodComp referencia compra
CPFCli referencia CPF
Dependentes (CodDependet, CPFDependent, NomeDependent, RGDependent)
CliDependent ( CodDependet, CPFCli)
CodDependent referencia Dependentes
CPFCli referencia CPF
2.4 Dicionário de Dados
Faça a descrição de todas as tabelas do modelo lógico
Tabela: Departamentos
Chave
Atributo
Tipo de Dados
Descrição
PK
Coddpto
Integer
Código de Departamentos autonumerado
Nomedpto
Varchar(35)
Nome completo de departamentos
FK
CNPJdpto
Interger
CNPJ de Departamentos autonumerado
Tabela: Funcionário
Chave
Atributo
Tipo de Dados
Descrição
PK
CodFunc
Integer
Código de Funcionário autonumerado
NomeFunc
Varchar(60)
Nome completo de funcionário
CPFFunc
varchar(11)
CPF de Funcionário autonumerado
TelFunc
varchar(15)
Telefone de Funcionário autonumerado
CargFunc
varchar(60)
Cargo de Funcionário
CepFunc
varchar(8)
Cep de Funcionário autonumerado
EndFunc
varchar(70)
Endereço de Funcionário
RGFunc
varchar(10)
RG de Funcionário autonumerado
cidadeFunc
varchar (60)
cidade de Funcionário
Tabela:FunDepto
Chave
Atributo
Tipo de Dados
Descrição
PK FK
Coddpto
Integer
Código de Departamentos autonumerado
PK FK
CodFunc
Integer
Código de Funcionário autonumerado
Tabela: Fornecedor
Chave
Atributo
Tipo de Dados
Descrição
PK
CNPJFornec
Integer
CNPJ de Fornecedor autonumerado
NomeFantFornec
varchar (60)
Nome completo de NomeFantasia
TelFornec
varchar(15)
Telefone de Fornecedor autonumerado
EndFornec
varchar(70)
Endereço de Fornecedor
cidadFornec
varchar (60)
cidade de Fornecedor
CepFornec
varchar(8)
Cep de Fornecedor autonumerado
Tabela:
Chave
Atributo
Tipo de Dados
Descrição
Tabela: Produtos
Chave
Atributo
Tipo de Dados
Descrição
PK
CodProd
Integer
Código de Produtos autonumerado
NomeProd
varchar(70)
Nome completo do Produtos
TipoProd
varchar (60)
Tipo de Produtos autonumerado
MarcProd
varchar(200)
ValorProd
Decimal (7,2)
Valor do Produtos autonumerados
FornecProd
varchar (60)
DescriçProd
varchar (60)
Tabela: Cliente
Chave
Atributo
Tipo de Dados
Descrição
PK
CPFCli
Integer
CPF do cliente autonumerado
NomeCli
varchar (60)
Nome completo do cliente
RGCli
varchar(10)
RG do cliente autonumerado
TelCli
varchar(15)
Telefone do cliente autonumerado
EndCli
varchar(70)
Endereço do cliente
CidadCli
varchar (60)
cidade do cliente
CepCli
varchar(8)
Cep do cliente autonumerado
Tabelas: Dependentes
Chave
Atributo
Tipo de Dados
Descrição
PK
CodDependet
Integer
Codigo do departamento autonumerado
CPFDependent
CPF do departamento autonumerado
NomeDependent
Nome completo de departamento
RGDependent
RG de departamento autonumerado
2.5 Instruções SQL
2.5.1 Criação das tabelas e Inserção de dados
2.5.2 Consultas simples com filtros (em uma tabela) – 5
2.5.3 Consultas complexas (mais de uma tabela) - 5
2.2 Modelo Lógico
2.3Descrição Relacional (do modelo alterado)
Departamentos (CodDpto, NomeDpto, CNPJDpto)
Funcionário (CodFunc, NomeFunc, CPFFunc, RGFunc, TelFunc, EndFunc, CargFunc, CepFunc)
DptoFunc (CodDpto,CodFunc)
CodFunc referencia Funcionário
CodDpto referencia Deparamento
Produtos (CodProd, NomeProd, TipoProd, MarcProd, CorProd, ValorProd, FornecProd, DescriçProd)
FuncProd (CodFunc, CodProd)
CodFunc referencia Funcionario
CodProd referencia Produto
Fornecedor (CNPJFornec, NomefantFornec, EndFornec, CidadFornec, CepFornec)
ProdFornec (CodProd, CNPJFornec)
CodProd referencia Produto
CNPJFornec referencia CNPJFornec
Compra (CodComp, ValorComp, DataComp, QuantTotalCompra)
ProdComp (CodComp, CodProd )
CodComp referencia Compra
CodProd referencia Produto
Cliente (CPFCli, NomeCli, RGCli, TelCli, EndCli, CidadCli, CepCli)
CliComp ( CPFCli, CodComp)
CodComp referencia compra
CPFCli referencia CPF
Dependentes (CodDependet, CPFDependent, NomeDependent, RGDependent)
CliDependent ( CodDependet, CPFCli)
CodDependent referencia Dependentes
CPFCli referencia CPF
2.4 Dicionário de Dados
Faça a descrição de todas as tabelas do modelo lógico
Tabela: Departamentos
Chave
Atributo
Tipo de Dados
Descrição
PK
Coddpto
Integer
Código de Departamentos autonumerado
Nomedpto
Varchar(35)
Nome completo de departamentos
FK
CNPJdpto
Interger
CNPJ de Departamentos autonumerado
Tabela: Funcionário
Chave
Atributo
Tipo de Dados
Descrição
PK
CodFunc
Integer
Código de Funcionário autonumerado
NomeFunc
Varchar(60)
Nome completo de funcionário
CPFFunc
varchar(11)
CPF de Funcionário autonumerado
TelFunc
varchar(15)
Telefone de Funcionário autonumerado
CargFunc
varchar(60)
Cargo de Funcionário
CepFunc
varchar(8)
Cep de Funcionário autonumerado
EndFunc
varchar(70)
Endereço de Funcionário
RGFunc
varchar(10)
RG de Funcionário autonumerado
cidadeFunc
varchar (60)
cidade de Funcionário
Tabela:FunDepto
Chave
Atributo
Tipo de Dados
Descrição
PK FK
Coddpto
Integer
Código de Departamentos autonumerado
PK FK
CodFunc
Integer
Código de Funcionário autonumerado
Tabela: Fornecedor
Chave
Atributo
Tipo de Dados
Descrição
PK
CNPJFornec
Integer
CNPJ de Fornecedor autonumerado
NomeFantFornec
varchar (60)
Nome completo de NomeFantasia
TelFornec
varchar(15)
Telefone de Fornecedor autonumerado
EndFornec
varchar(70)
Endereço de Fornecedor
cidadFornec
varchar (60)
cidade de Fornecedor
CepFornec
varchar(8)
Cep de Fornecedor autonumerado
Tabela:
Chave
Atributo
Tipo de Dados
Descrição
Tabela: Produtos
Chave
Atributo
Tipo de Dados
Descrição
PK
CodProd
Integer
Código de Produtos autonumerado
NomeProd
varchar(70)
Nome completo do Produtos
TipoProd
varchar (60)
Tipo de Produtos autonumerado
MarcProd
varchar(200)
ValorProd
Decimal (7,2)
Valor do Produtos autonumerados
FornecProd
varchar (60)
DescriçProd
varchar (60)
Tabela: Cliente
Chave
Atributo
Tipo de Dados
Descrição
PK
CPFCli
Integer
CPF do cliente autonumerado
NomeCli
varchar (60)
Nome completo do cliente
RGCli
varchar(10)
RG do cliente autonumerado
TelCli
varchar(15)
Telefone do cliente autonumerado
EndCli
varchar(70)
Endereço do cliente
CidadCli
varchar (60)
cidade do cliente
CepCli
varchar(8)
Cep do cliente autonumerado
Tabelas: Dependentes
Chave
Atributo
Tipo de Dados
Descrição
PK
CodDependet
Integer
Codigo do departamento autonumerado
CPFDependent
CPF do departamento autonumerado
NomeDependent
Nome completo de departamento
RGDependent
RG de departamento autonumerado
2.5 Instruções SQL
2.5.1 Criação das tabelas e Inserção de dados
2.5.2 Consultas simples com filtros (em uma tabela) – 5
2.5.3 Consultas complexas (mais de uma tabela) - 5
GOSTEI 0
Cristiane
26/11/2004
SELECT DCB, Count(*) FROM nome_tabela
GROUP BY DCB
HAVING Count(*) > 1
Bom dia, usei essa e funcionou, mas quero trazer mais uma coluna, que seria a matricula. Vou deixar aqui se alguém puder me ajudar.GROUP BY DCB
HAVING Count(*) > 1
SELECT NR_CPF, Count(*) FROM dbaps.usuario
GROUP BY NR_CPF
HAVING Count(*) > 1
Quero incluir a coluna cd_matricula.
GOSTEI 0
Roberto
26/11/2004
SELECT NR_CPF, MATRICULA, Count(*) FROM dbaps.usuario
GROUP BY NR_CPF, MATRICULA
HAVING Count(*) > 1
Basta colocar as colunas no SELECT e no GROUP BY.
GROUP BY NR_CPF, MATRICULA
HAVING Count(*) > 1
Basta colocar as colunas no SELECT e no GROUP BY.
GOSTEI 0
Igor Sena
26/11/2004
SELECT NR_CPF, MATRICULA, Count(*) FROM dbaps.usuario
GROUP BY NR_CPF, MATRICULA
HAVING Count(*) > 1
Basta colocar as colunas no SELECT e no GROUP BY.
GROUP BY NR_CPF, MATRICULA
HAVING Count(*) > 1
Basta colocar as colunas no SELECT e no GROUP BY.
E quando temos um campo que é duplicado, mas só uma coluna
Por exemplo, eu tenho um campo de contas a pagar, que por um erro duplicou o 'nosso número' do banco
eu preciso retornar os registros que foram duplicados, se possível fazer um join com outra coluna,
Esse código seria o count
Select nrdocumento_banco, count(nrdocumento_banco) from conta where dt_emissao Between '26.03.2018' AND '19.04.2018' group by NRDOCUMENTO_BOLETO HAVING Count(NRDOCUMENTO_BOLETO) > 1
E esse o select que retornaria os dados com o count dentro dele em um subselect
Select c.nrdocumento_banco, c.codpessoa, p.nome, p.cpfcgc, c.dt_emissao from conta c join conta c on c.codpessoa = p.codpessoa
Como faço essa integração?
GOSTEI 0
Jhonatan Alves
26/11/2004
A titulo de conhecimento dos senhores, eu fiz um select onde na minha tabela eu tenho nomes diferentes com CPF iguais.
EX: ARTUR LIRA
CPF: 024.309.258.23
ARTUR LIRA FILHO
CPF: 024.309.258.23
SELECT array_to_string(array_agg(trim(nome)::varchar), '' >>> '') AS nomes, translate(cpf,''./- ()'','''') AS cpf, count (*) AS total FROM tabela_clientes GROUP BY translate(cpf,''./- ()'','''') HAVING COUNT(*) > 1 ORDER BY array_to_string(array_agg(trim(nome)::varchar), '' >>> '');
Eu tenho o seguinte resultado.
nomes cpf total
ARTUR LIRA >>> ARTUR LIRA FILHO 024.309.258.23 2
Não sei seria pertinente neste caso mas pode resolver o problema e sanar duvidas de muitos, meu banco de dados é PostgreSql.
EX: ARTUR LIRA
CPF: 024.309.258.23
ARTUR LIRA FILHO
CPF: 024.309.258.23
SELECT array_to_string(array_agg(trim(nome)::varchar), '' >>> '') AS nomes, translate(cpf,''./- ()'','''') AS cpf, count (*) AS total FROM tabela_clientes GROUP BY translate(cpf,''./- ()'','''') HAVING COUNT(*) > 1 ORDER BY array_to_string(array_agg(trim(nome)::varchar), '' >>> '');
Eu tenho o seguinte resultado.
nomes cpf total
ARTUR LIRA >>> ARTUR LIRA FILHO 024.309.258.23 2
Não sei seria pertinente neste caso mas pode resolver o problema e sanar duvidas de muitos, meu banco de dados é PostgreSql.
GOSTEI 1