Avatar billede supermand69 Nybegynder
12. juli 2006 - 12:42 Der er 4 kommentarer og
1 løsning

slette række hvis id ikke findes i anden table

Hej

Jeg har 2 tables

user
------
id | name | ...

user_fav
------
user_id | fav


Jeg skal så have lavet en query der sletter de rækker i "user_fav" hvor "user_id" ikke findes i "user.id"
Avatar billede Slettet bruger
12. juli 2006 - 12:50 #1
Prøv med denne query - den er ikke testet

DELETE FROM [user_fav] WHERE [user_id] NOT IN (SELECT [user].[id] FROM [user] INNER JOIN [user_fav] ON [user].[id] = [user_fav].[user_id])

/1.
Avatar billede arne_v Ekspert
12. juli 2006 - 13:29 #2
DELETE FROM user_hav WHERE user_id NOT IN (SELECT id FROM user)

(uden densidste JOIN og uden de [] som er `` i MySQL)

kræver MySQL 4.1 eller nyere
Avatar billede Slettet bruger
12. juli 2006 - 13:46 #3
Ah. det var vist dobbeltkonfekt jeg var ude i :).

så lærte jeg også noget nyt i dag mht til `` i stedet for braces i MySQL.
Avatar billede supermand69 Nybegynder
12. juli 2006 - 15:30 #4
arne > tak for hjælpen..
lav et svar
Avatar billede arne_v Ekspert
12. juli 2006 - 16:10 #5
kommer her
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