Avatar billede kledal Nybegynder
11. april 2007 - 14:49 Der er 5 kommentarer

slette dubletter i persontabel

Jeg har et problem, i min persontabel er der opstået dubletter.
Dem skal jeg have slettet.
Jeg har følgende info om personerne:
personid
usernavn
eksterntid
oprettet_dato
fname
lname
ect.ect.

Jeg skal lave en SQL sætning der gør følgende:
Hvis der er flere personer med samme eksterntid, så skal dubletter slettes, så der ikke findes flere personer med samme ekstrentid. Personid er min primary key. Så der er ikke dubletter i denne. Der må gerne være personer uden ekstrentid, disse skal ikke slettes.

Jeg kan ikke selv komme på sætningen, da den er lidt tricky, alle svar modtages med kyshånd :)

Mvh Kledal
Avatar billede anri Novice
11. april 2007 - 14:56 #1
Jeg har næsten lige lagt et lignende svar i denne tråd
http://www.eksperten.dk/spm/771033

Måske du kan bruge det?
Avatar billede kledal Nybegynder
11. april 2007 - 15:00 #2
Desværre er min persontabel knyttet til mange andre tabeller :-( og det er ikke muligt at bruge din løsning så, så vidt jeg kan tænke igennem og læse, vel?
Avatar billede anri Novice
11. april 2007 - 15:02 #3
Nej.. Du vil få nye ID'er.
Men når du nu har dubletter der er knytett til andre poster, hvordan vælger du så hvilken dublet du vil slette?
Avatar billede kledal Nybegynder
11. april 2007 - 15:08 #4
dubletterne er ikke knyttet til andre tabeller, men det er de personer som ikke er dubletter
Avatar billede anri Novice
11. april 2007 - 17:12 #5
Ok..  Hvis du kan udskille de "dårlige" poster ved at fjerne dem der ikke er i en anden tabel, kunne du måske gøre sådan.

delete from [tabel1] where eksternID not in (select id from [eksternTabel]) and eksternid is not null

Lav lige en select først og se om ikke de rigtige kommer frem.
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