webForumDet fria alternativet
Logga in / Bli medlem

Ta bort vissa rader

Databaser & SQL

2 svar · 206 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!

257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)