webForumDet fria alternativet

Ta bort från tabell A om ej finns i tabell B

Databaser & SQL

2 svar · 251 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Jag har två tabeller så här:

Tabell A
id   value
1       a
2       b
3       c

Tabell B
id   tblA_id
1       2
2       3

Jag skulle behöva lite hjälp med en sql-sats om tar bort alla rader i Tabell A som inte finns kopplat mot Tabell B, i fallet ovan ska alltså raden med id 1 i Tabell A raderas.

Medlem sedan juni 200032 967 inlägg
#2

Tja, eftersom du inte vill berätta vilken dbms du använder kanske mitt svar inte hjälper dig, men:

DELETE FROM A WHERE id NOT IN(SELECT tblA_id FROM B)
Medlem sedan sep. 2005673 inlägg
#3

sql-server. Fungerar ju alldeles utmärkt. Tack! :)

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)