Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => -1
            [id] => 537612
            [titulo] => Updade Firebird SQL
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-11-19 11:31:06
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 463111
            [status] => A
            [isExample] => 
            [NomeUsuario] => Rafael Gustavo Dal Bosco
            [Apelido] => Rafael Dal Bosco
            [Foto] => 463111_20160309144828.jpg
            [Conteudo] => ---.
        )

)

Updade Firebird SQL

Antonelly Silva
   - 09 set 2015

Boa Noite pessoal.
Tenho uma tabela de clientes com as seguintes informações...
Codigo Nome Status
1 Joao A
2 Joao A
3 Pedro A
4 Marcos A
5 Marcos A
gostaria de mudar o status para I de um dos clientes que foram duplicados..
Ou seja queria desativar um e deixar o outro ativo..
EXemplo: Joao, deixar apenas um com A

Obrigado. desde já.

Rafael Bosco
   - 19 nov 2015

---.

Jothaz
   - 19 nov 2015

#Código

declare @tab table (Codigo int, Nome varchar(20), Status char(1)) 
insert into @tab (Codigo, Nome, Status) values (1, 'Joao', 'A') 
insert into @tab (Codigo, Nome, Status) values (2, 'Joao', 'A') 
insert into @tab (Codigo, Nome, Status) values (3, 'Pedro', 'A') 
insert into @tab (Codigo, Nome, Status) values (4, 'Marcos', 'A') 
insert into @tab (Codigo, Nome, Status) values (5, 'Marcos', 'A')

--Listando toda a tabela
select * from @tab 

--Listando duplicados
SELECT nome, count(*) FROM @tab 
GROUP BY nome
HAVING COUNT(*) > 1

--Listando duplicados - Recuperando o maior Codigo 
SELECT max(codigo) FROM @tab GROUP BY nome
HAVING COUNT(*) > 1

--Fazendo update do Status dos duplicados,no caso de maior Codigo
update @tab set status = 'I'
where codigo in (SELECT max(codigo) FROM @tab GROUP BY nome
HAVING COUNT(*) > 1)

--Listando toda a tabela com Status atualizado
select * from @tab 


Clique na imagem para abrir em uma nova janela

Marcos P
   - 19 nov 2015

No SQL Server...

#Código

create table #tab  (Codigo int, Nome varchar(20), Status char(1))
 
insert into #tab (Codigo, Nome, Status) values (1, 'Joao', 'A') 
insert into #tab (Codigo, Nome, Status) values (2, 'Joao', 'A') 
insert into #tab (Codigo, Nome, Status) values (3, 'Pedro', 'A') 
insert into #tab (Codigo, Nome, Status) values (4, 'Marcos', 'A') 
insert into #tab (Codigo, Nome, Status) values (5, 'Marcos', 'A')

update #tab
set Status = 'I'
where Codigo in (select Max(Codigo) from #tab group by Nome) and
      Nome in (select Nome from #tab group by Nome having count(1) > 1)