Ta bort vissa rader

Databaser & SQL

2 svar · 214 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Trådstart#1

Jag har två tabeller, A och B, och ur B vill jag ta bort alla rader vars fält id inte finns i någon rad i A. Kan detta göras med endast en SQL-fråga? Är lite seg i huvudet just nu. Annars, hur jag gör jag det smidigast?

Medlem sedan juni 200032 967 inlägg
#2

DELETE FROM B WHERE ID NOT IN (SELECT ID FROM A)

Mvh

Medlem sedan sep. 20005 700 inlägg
#3

Provade, den verkar vilja ta bort alla rader iaf.
DELETE FROM history WHERE GID NOT IN (SELECT ID FROM gangsters);

Så ser den ut. Alltså alla rader i history vars GID inte finns som något ID i gangsters ska tas bort. Men som sagt, den tar bort alla, vare sej det finns eller inte.

r) Hoppsan, såg ett misstag av mej här! Det funkar högst troligen! Tack snabelanders!

280 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
144 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
144 ms — ändringar (db)