Alteração de nomes duplicados
21/12/2016
0
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
Post mais votado
22/12/2016
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.
T Rodrigues
Mais Posts
21/12/2016
Luiz Santos
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
22/12/2016
T Rodrigues
Ex:
cod - Nome
1 - Camisa
70 - 1Camisa
5 - 2Camisa
Queria alterar o nome dos duplicados porem mantendo um original.
Teria como ?
22/12/2016
Fabiano Carvalho
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.
22/12/2016
T Rodrigues
O código de funcionou , porem o primeiro item não pode ser alterado , dessa forma todos estão sofrendo alteração.
22/12/2016
Alec Candia
Eu repensaria a estrutura da base de dados. :-)
Clique aqui para fazer login e interagir na Comunidade :)