PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [mysql] Alle Zeilen löschen, die nicht in anderer Tabelle vorhanden sind


BoneDaddy
2008-07-18, 13:11:48
Ich suche ein Query mit dem ich alle Zeilen auf Tabelle 1 löschen, deren ID nicht mit dem Feld tab_id aus Tabelle 2 übereinstimmen.

Hier mal ein Beispiel.

Tabelle 1

id | title
------------------
1 | huhu
2 | test
18 | soll gelöscht werden
21 | soll gelöscht werden


Tabelle 2

tab_id
------------------
1
2
3

Fruli-Tier
2008-07-18, 13:18:36
delete from from Tabelle1 where id not in (
select tab_id
from Tabelle2
)

BoneDaddy
2008-07-18, 13:25:02
Wow danke, hat geklappt.

Verschachtelte queries - dass ich nicht selbst drauf gekommen bin. ;)

Fruli-Tier
2008-07-18, 14:12:40
Wow danke, hat geklappt.Ich hab' nix anderes erwartet :smile:

Verschachtelte queries - das ich nicht selbst drauf gekommen bin. ;)dass

BoneDaddy
2008-07-18, 14:17:11
dass
vertippt, sorry. :(


delete from from Tabelle1 where id not in (
select tab_id
from Tabelle2
)


Ein from zuviel ;-)

ZapBee
2008-07-18, 16:21:17
dass
Ein from zuviel ;-)
:biggrin: :up:

Fruli-Tier
2008-07-19, 10:58:54
Das ist eben eine fromme Tabelle. Außerdem wollte ich nur sehen, ob er mitdenkt :)
:sneak: