Alteração de nomes duplicados
Boa tarde galera, estou com um problema aqui.
Tenho um banco de dados SQL onde a descrição se repete varias vezes, verifiquei pelo comando abaixo.
SELECT Campo, ativo FROM tabela WHERE ativo ='s' and Campo IN
(SELECT Campo FROM PRODUTOS GROUP BY Campo HAVING COUNT(*) > 1)
order by Campo
Gostaria de saber se tem como alterar o nome dos itens em duplicidade .Deixando o primeiro sem alteração e modificando os demais.
Exemplo:
Camisa
Camisa
Camisa
Alterar para:
Camisa
1Camisa
2Camisa
Tenho um banco de dados SQL onde a descrição se repete varias vezes, verifiquei pelo comando abaixo.
SELECT Campo, ativo FROM tabela WHERE ativo ='s' and Campo IN
(SELECT Campo FROM PRODUTOS GROUP BY Campo HAVING COUNT(*) > 1)
order by Campo
Gostaria de saber se tem como alterar o nome dos itens em duplicidade .Deixando o primeiro sem alteração e modificando os demais.
Exemplo:
Camisa
Camisa
Camisa
Alterar para:
Camisa
1Camisa
2Camisa
T Rodrigues
Curtidas 0
Melhor post
T Rodrigues
22/12/2016
Boa tarde Alec Candia,
O banco em questão e de uma rede de supermercado , pois cada vês que um item muda de código de barras o cliente estava cadastrando o mesmo item porem com o código EAN diferente e inativando o antigo.
Porem analisando os arquivos fiscais do cliente a um erro por ter vários produtos com a mesma descrição porem códigos diferentes.
Criei o comando para alterar somente os itens inativos. E corrigindo a duplicidade das descrições.
O banco em questão e de uma rede de supermercado , pois cada vês que um item muda de código de barras o cliente estava cadastrando o mesmo item porem com o código EAN diferente e inativando o antigo.
Porem analisando os arquivos fiscais do cliente a um erro por ter vários produtos com a mesma descrição porem códigos diferentes.
Criei o comando para alterar somente os itens inativos. E corrigindo a duplicidade das descrições.
GOSTEI 1
Mais Respostas
Luiz Santos
21/12/2016
Oi Thalyson.
Me parece que é SQL Server.
Você vai precisar usar a clausula OVER para gerar um ID para cada linha e fazer o UPDATE.
Segue um link com um exemplo
http://stackoverflow.com/questions/19124662/how-to-use-row-number-in-update-clause
Grande abs
Me parece que é SQL Server.
Você vai precisar usar a clausula OVER para gerar um ID para cada linha e fazer o UPDATE.
Segue um link com um exemplo
http://stackoverflow.com/questions/19124662/how-to-use-row-number-in-update-clause
Grande abs
GOSTEI 0
T Rodrigues
21/12/2016
Vou verificar aqui .
Muito Obrigado Luiz
Muito Obrigado Luiz
GOSTEI 0
T Rodrigues
21/12/2016
Esse comando não deu certo , pois queri alterar o nome do registro duplicado.
Ex:
cod - Nome
1 - Camisa
70 - 1Camisa
5 - 2Camisa
Queria alterar o nome dos duplicados porem mantendo um original.
Teria como ?
Ex:
cod - Nome
1 - Camisa
70 - 1Camisa
5 - 2Camisa
Queria alterar o nome dos duplicados porem mantendo um original.
Teria como ?
GOSTEI 0
Fabiano Carvalho
21/12/2016
Fiz uma postagem em meu blog, da uma olhada.http://www.carvalhof.com.br/remover-linhas-duplicadas/
Voce pode fazer assim.
Retorne, caso tenha dúvida.
Voce pode fazer assim.
select cast(d as varchar(10)) + ' ' + [coluna_duplicada],* from (select row_number() over(partition by [coluna_duplicada] order by [coluna_duplicada]) as D,* from [nome_sua_tabela]) as Tabela --O Update ficaria assim update tabela = [coluna_duplicada] = cast(d as varchar(10)) + ' ' + [coluna_duplicada] cast(d as varchar(10)) + ' ' + [coluna_duplicada],* from (select row_number() over(partition by [coluna_duplicada] order by [coluna_duplicada]) as D,* from [nome_sua_tabela]) as Tabela
Retorne, caso tenha dúvida.
GOSTEI 0
T Rodrigues
21/12/2016
Boa tarde Faabiianooc,
O código de funcionou , porem o primeiro item não pode ser alterado , dessa forma todos estão sofrendo alteração.
O código de funcionou , porem o primeiro item não pode ser alterado , dessa forma todos estão sofrendo alteração.
GOSTEI 0
Luiz Santos
21/12/2016
Thalyson, é só você ajustar o WHERE.
GOSTEI 0
Alec Candia
21/12/2016
Thalyson, não entendi a tua necessidade. Imaginei um banco de dados, enorme, com 1002Camisa... 1003Camisa. Sei lá, creio ter uma forma mais organizada para resolver esse problema. Um novo arquivo CAMISA e mais um MODELO, talvez. Ou, na pior (ou melhor) das hipóteses, tratar a descrição associada a uma ID ou outro campo. Exemplo: ID + DESCRIÇÃO.
Eu repensaria a estrutura da base de dados. :-)
Eu repensaria a estrutura da base de dados. :-)
GOSTEI 0
T Rodrigues
21/12/2016
Muito Obrigado .
Deu certo
Deu certo
GOSTEI 0