Avatar billede brownghost Nybegynder
25. november 2004 - 03:17 Der er 15 kommentarer og
1 løsning

Fjerne dobbelte e-mails

Jeg har en database med en masse mails der er til mit nyhedsbrev.
Men ved en fejl har fores system godkendt dubletter :(

Nu har jeg så 4600 mail adresser og en del af dem er dubletter :(
Er der nogle der har en ide til hvordan jeg kan lave et script der ligger fjerne dem ?
Eller kan man køre en Queue analyzer kode som så kan gøre det?

Køre asp. Og MS sql 2000

Any hely?
Avatar billede tofte Juniormester
25. november 2004 - 08:26 #1
Du kan køre en SQL på databasen
DELETE * FROM email WHERE id NOT IN (SELECT First(email.id) AS FørsteOfid FROM email GROUP BY email.email);

Jeg har en tabel som hedder email, den indeholder email, navn og id. Ovenstående sletter alle andre end den første forekomst af emailadressen uanset navnet på brugeren.
Avatar billede brownghost Nybegynder
26. november 2004 - 03:08 #2
men tabel hedder: NL_Recipients

så men sætning ser såden her ud. er det rigtig?
DELETE * FROM NL_Recipients WHERE id NOT IN (SELECT First(email.id) AS FørsteOfid FROM NL_Recipients GROUP BY email.email);

Jeg får de her fejl.
Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near '*'.
Server: Msg 195, Level 15, State 1, Line 1
'First' is not a recognized function name.

??
Avatar billede brownghost Nybegynder
30. november 2004 - 16:46 #3
Tofte?? hjlp please :)
Avatar billede tofte Juniormester
30. november 2004 - 19:04 #4
Hmm, jeg var sikker på at jeg havde lagt et nyt svar.

Jeg har lidt problemer med min mysql server, så det er ikke testet, men prøv
DELETE FROM NL_Recipients WHERE id NOT IN (SELECT Min(email.id) AS mid FROM NL_Recipients GROUP BY email.email);

du skal ændre email.id, til navnetpåtabel.(navnet på idfelt) og det samme med email.email
Avatar billede brownghost Nybegynder
30. november 2004 - 22:32 #5
Server: Msg 107, Level 16, State 2, Line 1
The column prefix 'Email' does not match with a table name or alias name used in the query.
Server: Msg 107, Level 16, State 1, Line 1
The column prefix 'Email' does not match with a table name or alias name used in the query.

mine tabeller:
ID
Email

det virker ikke :(
Avatar billede tofte Juniormester
30. november 2004 - 22:46 #6
ok du har en tabel osm hedder NLRecipients, med felteren id og email. Hvis det er korrekt, skal der som jeg prøvede at antyde stå:
DELETE FROM NL_Recipients WHERE ID NOT IN (SELECT Min(FROM NL_Recipients.ID) AS mid FROM NL_Recipients GROUP BY FROM NL_Recipients.Email);
Avatar billede tofte Juniormester
30. november 2004 - 22:47 #7
det var da utrolig så dårlig jeg er til at stave i dag :-) Håber det virker
Avatar billede tofte Juniormester
30. november 2004 - 22:49 #8
Anvendelse af ovenstående er på eget ansvar. Så husk lige at tage en kopi inden du kører SQL'en :-)
Avatar billede brownghost Nybegynder
30. november 2004 - 23:47 #9
Server: Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'FROM'.

er det ikke fordi der mangler * mellem delete og from ?
Avatar billede brownghost Nybegynder
30. november 2004 - 23:48 #10
Nej var det ikke, det virker heller ikke.
ps har offcorse en backop :)
Avatar billede tofte Juniormester
01. december 2004 - 10:30 #11
ok, jeg henter lige Microsoft SQL Server 2000 Enterprise Edition, så skal jeg nok finde en sql som virker. Der går lige ene time eller to.
Avatar billede tofte Juniormester
01. december 2004 - 12:06 #12
Hmm, der er tydeligvis fejl i det jeg skrev. Undskyld. Kan ikke få min sql server til at virke, men prøv følgende. Skal nok lige selv teste det hvis den kommer til at virke senere. Men prøv nedenstående. Der var tydeligvis alt for mange FROM i ovensteående.
DELETE FROM NL_Recipients WHERE ID NOT IN (SELECT Min(NL_Recipients.ID) AS mid FROM NL_Recipients GROUP BY NL_Recipients.Email);
Avatar billede brownghost Nybegynder
01. december 2004 - 21:26 #13
Totalt fedt :) 644 dobbelte mails fjernet. takker mange gange :)
Avatar billede brownghost Nybegynder
01. december 2004 - 21:30 #14
nu vi er igang kunne man bruge samme funktion til at kigger om mails er formatert rigtig?
alså om de indeholder tekst@dormain.dk ??
Avatar billede tofte Juniormester
01. december 2004 - 21:40 #15
Jeg er ikke ekspert på området, men du kunne sikkert lave en stored precedure som klarede det, men det er desværre ikke manden til at klare.
Avatar billede brownghost Nybegynder
02. december 2004 - 01:30 #16
ok. jeg takker og bukker :)
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
Kurser inden for grundlæggende programmering

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