Avatar billede pelskee Nybegynder
14. november 2005 - 11:15 Der er 12 kommentarer og
1 løsning

Slet fra tabel1 hvis værdi findes i tabel2

jeg har 2 tabeller og ønsker at slette records fra tabel 2 som allerede eksisterer i tabel 1. Nøglen er Email

delete from tabel2 where email er i tabel1
Avatar billede Slettet bruger
14. november 2005 - 11:18 #1
Er det i access?~)
Avatar billede Slettet bruger
14. november 2005 - 11:22 #2
Hvis det er:
Lav en sletteforespørgsel, som sletter fra tabel 2. Få begge tabeller frem og lav en forbindelse på email og så vælg email fra en af tabellerne, så vil den selv udfylde at den også sletter fra email!~)
Avatar billede teepee Nybegynder
14. november 2005 - 11:25 #3
delete from tabel2 t2
where exists (select 1 from tabel1 where email = t2.email)
Avatar billede Slettet bruger
14. november 2005 - 11:39 #4
14/11-2005 11:22:49>

DELETE Tabel1.email, Tabel2.*
FROM Tabel1 INNER JOIN Tabel2 ON Tabel1.email = Tabel2.email;
Avatar billede pelskee Nybegynder
14. november 2005 - 11:40 #5
Det er i ACCESS
Avatar billede pelskee Nybegynder
14. november 2005 - 11:41 #6
er der nogen måde at optimere sql'en på for min hovedtabel har 120000 records og min tabel2 har 40000 records
Avatar billede Slettet bruger
14. november 2005 - 11:55 #7
Du kan jo komprimere din hovedtabel og evt. lave index på e-mail!~)
Avatar billede Slettet bruger
14. november 2005 - 11:56 #8
Nåh, ja du har jo e-mail, som nøgle, så glem det med index....
Avatar billede Slettet bruger
14. november 2005 - 11:56 #9
Men, kører sql'en ikke fint nok?~)
Avatar billede pelskee Nybegynder
14. november 2005 - 11:58 #10
hehe jeg har ikke prøver den endnu
er klar til at køre den om 5 min
der er lige et par andre sqls jeg skulle have kørt
Avatar billede pelskee Nybegynder
14. november 2005 - 13:21 #11
denne sql melder fejl:
DELETE mmm_master.EmailAddress1, new_prospects.*
FROM mmm_master INNER JOIN new_prospects ON mmm_master.EmailAddress1=new_prospects.EmailAddress1;

jeg skal slette de records i new_prospects hvor EmailAddress1 allerede er i mmm_master

Fejl:
Could not delete from specified tables
Avatar billede Slettet bruger
14. november 2005 - 13:44 #12
Det virker her, også den sql du har indsat, kan jeg få til at virke~)

Er EmailAddress1 primær nøgle i begge tabeller, for da jeg testede tidligere på dagen kunne jeg heller ikke slette. Jeg havde et autonummereret id felt, som primærnøgle, men så slettede jeg dette felt og satte email, som primærnøgle, så kørte det?~)
Avatar billede pelskee Nybegynder
15. november 2005 - 12:01 #13
hvis nu mine nøgler er noget andet kan jeg så ikke bare angive noget andet i :
DELETE mmm_master.EmailAddress1, new_prospects.*

eksempelvis:
DELETE mmm_master.ppstID, new_prospects.*



Nøglen i mm_master er 'ppstID'
og i new_prospects er nøglen 'ID'

?
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