Hallå, jag har problem med dubletter i en tabell.
Det känns som ett så simpelt problem, men jag lyckas inte lösa det.
Använder SQL Server 2000.
Jag har en fet tabell med massor av kunder i, där det bla. finns personnummer, namn, adress, telefon mm.
Det finns dubbletter, dvs. samma personnummer förekommer ibland två eller tre gånger.
Jag vill göra en SELECT på alla kunder men bara få ut dom EN gång.
DISTINCT fungerar inte i detta fall eftersom andra fält kan skilja sig en aning.
Så det är personnumret man måste gå på.
Hur ska jag lösa detta?
Står helt still i huvudet. x(
Tacksam för svar! :)
Det spelar ingen roll vilken person som väljs, eftersom det är samma person.
Gruppring löser tyvärr inte problemet.
Jag vill ju hämta gatuadress, postnr och allt sånt.
Då måste jag även gruppera på dessa fält.
Men oftast så är fälten inte exakt lika ifyllda, det kan skilja lite mellanrum, vara stavfel.
Finns det ingen smidig lösning?
Här är ett förenklat exempel:
persnr förnamn efternamn adress
-------------------------------------------------
9090909090 sven svensson grönvägen 1
[red][B]9090909090 sven svensson grönv 1[/B][/red]
8080808080 anders andersson storgatan 2
[red][B]8080808080 anders andersson storg.2[/B][/red]
Hur gör jag en Select som skippar dom feta raderna?
(eller egentligen spelar det ingen roll vilka rader som skippas, så länge personnumret förekommer EN gång)
Tack så mycket, ska testa direkt.
Men tyvärr så misstänker jag att det inte är en hållbar lösning eftersom adressen ibland är lika.
EDIT:
Jag byggde om din lösning lite LarsG, och fick en som fungerade!
Genom att använda fältet ID istället för Adress så fungerar det, eftersom ID alltid är unikt!
select persnr,förnamn,efternamn,adress
from t as q
where id in
(select max(id)
from t
where t.persnr = q.persnr)
262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2