Avatar billede vraa Nybegynder
15. marts 2006 - 10:16 Der er 10 kommentarer og
1 løsning

Fjern duplikationer i select

Jeg skal fjerne duplikationer i en tabel som nedenstående:

ID    Cpr        Fornavn    Efternavn
1      1234567890  Jens      Jensen
2      0987654321  Jens      Hansen
3      1111111111  Peter      Jakobsen

Mit udtræk skal have kolonnerne Cpr, Fornavn, og Efternavn med men skal fjerne rækker hvor der er duplikationer i kolonnen Fornavn.

Nogen gode forslag?
Avatar billede eagleeye Praktikant
15. marts 2006 - 10:59 #1
Hvis den kun skal trække id=3 ud kan du prøve sådan her:

SELECT tn.cpr, tn.fornavn, tn.efternavn
FROM tabelNavn tn LEFT JOIN (SELECT n.fornavn FROM tabelNavn n GROUP BY n.fornavn HAVING Count(n.fornavn)>1) as qDblFornavn ON tn.fornavn = qDblFornavn.Fornavn
WHERE qDblFornavn.Fornavn is null;
Avatar billede vraa Nybegynder
15. marts 2006 - 11:11 #2
Jeg skal have rækkerne med id 1 og 3 ud. Rækken med id 2 skal ikke med da Fornavn er det samme som rækken med id 1.
Avatar billede jesperthomsen Nybegynder
15. marts 2006 - 11:24 #3
Lav en grupperet forespørgsel. Grupper på fornavn og vælg sidste (eller første) i alle de andre felter.
Avatar billede vraa Nybegynder
15. marts 2006 - 11:27 #4
Det lyder som en rigtig god idé, men et eksempel vil være lækkert, da jeg ikke har nogen anelse om hvordan man gør det.
Avatar billede jesperthomsen Nybegynder
15. marts 2006 - 11:31 #5
Klik på E-tegnet i menuen - så kommer der en ny række i din forespørgsel hvor der står Grupper Efter under alle felter. Du retter det til Sidste med drop-downen på dem alle, pånær fornavn.

Det er for resten ikke et rigtigt E, men et Sigma-tegn. Sådan et man bruger i summationsrækker.
Avatar billede vraa Nybegynder
15. marts 2006 - 11:40 #6
jesperthomsen-> Jeg er slet ikke med :-(

E-tegnet i menuen. Jeg har ikke nævnt hvilken program jeg arbejder i. Snakker du MS SQL eller...?
Er det ikke muligt at få et lille eksempel?
Avatar billede jesperthomsen Nybegynder
15. marts 2006 - 12:07 #7
Jeg gik ud fra du brugte Access, siden du har spurt i Access-området ;)

Men et eksempel, sådan lavet i fri hånd, så der kan godt være syntaks-fejl

Select Fornavn, First(cpr), First(ID)
from Tabel
Group By Fornavn
Avatar billede vraa Nybegynder
15. marts 2006 - 13:57 #8
jesperthomsen -> Perfekt. Fandt ud af det. Jeg arbejder i access. Skulle bare lige finde den funktion du snakkede om :-)

Du får dine velfortjente point
Avatar billede fdata Forsker
15. marts 2006 - 19:08 #9
jesperthomsen >> Det er ikke et E. Det er det græske sigma, altså bogstavet s (s = sum - god huskeregel). Blot til info  ;o)
Avatar billede jesperthomsen Nybegynder
15. marts 2006 - 20:19 #10
Tænk, det minder mistænkelig meget om det jeg skrev da jeg skrev 'Det er for resten ikke et rigtigt E, men et Sigma-tegn. Sådan et man bruger i summationsrækker' ;)
Avatar billede fdata Forsker
15. marts 2006 - 23:08 #11
Du er hurtig. Jeg er blind  |o(
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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