Avatar billede -mundi- Nybegynder
16. juni 2003 - 16:18 Der er 9 kommentarer og
1 løsning

Fjerne delvise dubletter fra tabel

Jeg har en tabel med adresser indeholdende navn, adresse, postnummer og by . Nu skal jeg have printet labels ud, for at spare porto ville det være smart at sortere de ens adresser fra. 

Hvis f.eks hans og grethe der bor samme sted har tilmeldt sig begge 2 er der ikke nogen grund til at sende til dem begge 2.

Spg er: Hvordan får jeg slettet enten hans eller grethe fra tabellen ? De har ens adresse postnummer og by men forskelligt navn, det er ligemeget hvilken en af dem der slettes. Det skal dog være i ren SQL
Avatar billede janus_007 Nybegynder
16. juni 2003 - 21:21 #1
DELETE FROM Tabel1 WHERE adresse IN(SELECT adresse FROM Tabel1 GROUP BY adresse HAVING COUNT(*) > 1)


En anden måde er jo kun at selecte dem som du gerne vil sende til:

SELECT MAX(fornavn) FROM Tabel1 WHERE adresse IN(SELECT DISTINCT adresse FROM Tabel1)

En nem løsning som sagtens kan gøres smukkere, men til dit behov er den jo fin nok :O)
Avatar billede -mundi- Nybegynder
16. juni 2003 - 21:27 #2
Jo den er delvis ok, hvad nu hvis der er 2 ens adresser i 2 forskellige byer ?
Kan du ikke lave eksemplet så der tages højde for adresse og bynavn ?
Avatar billede janus_007 Nybegynder
17. juni 2003 - 09:21 #3
SELECT MAX(fornavn) FROM Tabel1 WHERE adresse+bynavn IN(SELECT adresse+bynavn GROUP BY adresse+bynavn FROM Tabel1)
Avatar billede janus_007 Nybegynder
17. juni 2003 - 09:22 #4
Jeg skal lige høre om der findes en unique id i din tabel ?
Avatar billede -mundi- Nybegynder
17. juni 2003 - 09:28 #5
ja det gør der
Avatar billede janus_007 Nybegynder
17. juni 2003 - 09:31 #6
Så er denne løsning nok den bedste :O)

SELECT * FROM Tabel1 WHERE id IN (SELECT MAX(id) GROUP BY adresse+bynavn FROM Tabel1)
Avatar billede janus_007 Nybegynder
17. juni 2003 - 09:32 #7
SELECT * FROM Tabel1 WHERE id IN (SELECT MAX(id) GROUP BY adresse, bynavn FROM Tabel1)
Avatar billede -mundi- Nybegynder
17. juni 2003 - 09:32 #8
tester lige
Avatar billede janus_007 Nybegynder
17. juni 2003 - 15:58 #9
Har du testet ? funker det ?
Avatar billede -mundi- Nybegynder
17. juni 2003 - 15:59 #10
funker fino :-)
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