08. januar 2003 - 09:24Der er
10 kommentarer og 1 løsning
Hjælp til DeleteQuery
Når jeg sorterer en tabel på feltet "E-mail" kan jeg se at samme bruger optræder flere gange i tabellen. Hvorledes laver jeg en DeleteQuery, der fjerner de redundante poster nemt og hurtigt?
Det skal siges at det ikke er ligemeget hvilke poster der slettes: Jeg har et felt "Kommentarer" i tabellen og hvis dette er tomt/Null, må posten IKKE slettes, men hvis det ikke er tomt/Null og der findes en bruger med samme Emailadresse (med et tomt Kommentarfelt), skal brugeren hvor Kommentarfeltet IKKE er tomt slettes.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Prøv dette, men lav lige en kopi af databasen først ;-) Det er ikke afprøvet.
DELETE [e-mail], IDFelt, Kommentar FROM tabelnavn WHERE ((([E-mail]) In (SELECT [[E-€mail]] FROM [tabelnavn] As Tmp GROUP BY [E-mail] HAVING Count(*)>1 )) AND (Not ([Kommentar]) Is Null));
Skud fra hoften: Prøv query wizard: Find Unmatched. Kik derefter i queryens opbygning og ret til så der listes de rigtige. Sidenhen kan du lave en Delete query.
DELETE [e-mail], IDFelt, Kommentar FROM tabelnavn WHERE ((([E-mail]) In (SELECT [[E-mail]] FROM [tabelnavn] As Tmp GROUP BY [E-mail] HAVING Count(*)>1 )) AND (Not ([Kommentar]) Is Null));
Tabelnavn og IDFeltets navn skal selvfølgelig tilrettes til de relevante. Det samme skal E-mail, hvisd det ikke er skrevet på samme måde i din tabel som i min Query.
Den har dog den fejl, at hvis der findes to brugere med samme e-mail, som begge to har noget stående i kommentarfeltet, slettes de begge. Kun de, der faktisk har tomme kommentarfelter bliver tilbage.
jkrons >> Ups! Godt du skrev det.. Der ER nemlig brugere, der KUN har poster med noget stående i kommentarfeltet.. Disse må IKKE slettes.. Kan man lave en SelectQuery først der udvælger de poster, hvor Email matcher OG har både et tomt og et "fyldt" kommentarfelt?
Det der står i Kommentarfeltet er enten "A", "B", "C" eller "D". Det er udtryk for hvilke lister de forskellige brugere skal registreres på bagefter. De brugere, der har et tomt Kommentarfelt, er allerede tilføjet en række lister. Hvis samme Emailadresse er registreret f.eks. 3 gange med hhv. Null, "A" og "C" i Kommentarfeltet, betyder det at jeg skal slette de instanser med "A" og "C" og tilføje "A" og "C" under det brugerID med Null i Kommentarfeltet. Dog kan der godt være tilfælde hvor der ikke er en Null-bruger, men kun "A" og "C" - så skal "C" slettes og tilføjes under "A".
Jeg forstår det såmænd godt, men jeg kan ikke lige gennemskue hvordan det skal løses. Jeg skal til møde nu, men skal se på det, når jeg kommer tilbage lidt senere.
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.