Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lella

[Resolvido] Selecionar apenas um registro em determinada linha

Recommended Posts

Boa Tarde a todos!

Tenho um Db com uma tabela com 3 campos e sem chave primaria (ok sei que foi errado mas não vem ao caso agora)

 

Foi inserido um registro em duplicata e eu queria apaga-lo mas, apagaria os dois.

O que quero saber é como referenciar uma determinada linha da tabela e apaga-la

exemplo

 

select * from tabela registro da linha 4
ia mostrar para mim apenas os dados dos registros na tabela que correspondem a linha 4

 

existe alguma forma de fazer isso?

como digo ao postgre que quero apenas ver ou apagar os dados correspondentes a linha 4 na tabela?

:huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use alguma coisa para desempatar, acho que PostgreSql tem Rowid

 

+ou- isto

 

--LISTA OS DUPLICADOS

 

SELECT CHAVE

FROM TABELA T1

GROUP BY CHAVE

HAVING COUNT(*) > 1

 

FAZENDO UM LOOP PARA CADA LINHA DO SELECT ACIMA

 

DELECT TABELA T1
WHERE T1.CHAVE = <CHAVE LOOP>
AND   ROWID = (SELECT MAX(ROWID)
               FROM TABELA T2 
               WHERE T2.CHAVE = T1.CHAVE
               AND   T2.CHAVE = <CHAVE LOOP>

Ajudou ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use alguma coisa para desempatar, acho que PostgreSql tem Rowid

 

+ou- isto

 

--LISTA OS DUPLICADOS

 

SELECT CHAVE

FROM TABELA T1

GROUP BY CHAVE

HAVING COUNT(*) > 1

 

FAZENDO UM LOOP PARA CADA LINHA DO SELECT ACIMA

 

DELECT TABELA T1
WHERE T1.CHAVE = <CHAVE LOOP>
AND   ROWID = (SELECT MAX(ROWID)
               FROM TABELA T2 
               WHERE T2.CHAVE = T1.CHAVE
               AND   T2.CHAVE = <CHAVE LOOP>

Ajudou ?

 

sempre ajuda,

eu preferi fazer uma cópia da tabela acrescentando um campo id com autonumeração para consertar a tabela e evitar problemas futuros

Obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.