Avatar billede peterlang Nybegynder
21. april 2002 - 23:06 Der er 3 kommentarer og
4 løsninger

Stored procedures (Slet dubletter)

Jeg har en tabel med 2 rækker (navn, efternavn), jeg vil gerne slette alle dubletter, så hver kombination kun optræder 1 gang. (så hvis "Per", "Hansen" findes 2 eller flere gange, så slettes dubletterne)

OBS der er ingen autonummer, hvis det gør nogen forskel.
Skal bruges i en Stored procedures.

Hvordan gøres dette hurtigst/bedst?

Peter Lang

Avatar billede codemon Nybegynder
21. april 2002 - 23:17 #1
select distinct(navn, efternavn) from mintabel;
Avatar billede peterlang Nybegynder
21. april 2002 - 23:28 #2
jeg har prøvet med denne, virker ikke

DELETE FROM test WHERE (select distinct(nr1, nr2) from test;

hvordan skal det skrives?

Peter
Avatar billede kimiwan Nybegynder
21. april 2002 - 23:39 #3
du kan lave en temp tabel og bruge DISTINCT fornavn, efternavn til at kopiere de unikke kombinationer af for-/efternavn ind i den.
Avatar billede tmceu Praktikant
22. april 2002 - 02:36 #4
Nedenstående burde kunne bruges som inspiration. Du bør dog nok overveje dit databasedesign, for ikke at komme i flere af den slags situationer :-)

create proc dbo.usp_deletedoubles as

create table #tempnavne(
    navn varchar(20),
    enavn varchar(20)
)

insert #tempnavne select distinct * from navne

truncate table navne

insert into navne select * from #tempnavne

drop table #tempnavne
Avatar billede wipeca Nybegynder
22. april 2002 - 07:15 #5
Kan du ikke bruge guiden forespørgsel find dupletter?
Og slette dem i den?
Avatar billede jakobandersen Nybegynder
22. april 2002 - 08:03 #6
Her er en kort artikel om emnet:

http://www.sqljoint.com/article.aspx?ArticleId=14
Avatar billede peterlang Nybegynder
23. april 2002 - 09:39 #7
Tak for hjælpen.

Jeg brugte tmceu´s kode.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester