[SQL] DELETE in mehreren, verknüpften Tabellen

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

[SQL] DELETE in mehreren, verknüpften Tabellen

Beitrag von Fluid Byte »

Ich benutze momentan MS Acess 2007 und habe von der SQL-Seite folgendes Snippet:

Code: Alles auswählen

DELETE t1,t2
FROM t1,t2
WHERE t1.id=t2.id
Wenn ich dann in meiner Datenbank so eine Abfrage schreibe bekomme ich die Fehlermeldung:
Geben Sie die Tabelle an, die die zu löschenden Datensätze enthält.
Was mache ich verkehrt?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

1. Fehler - Du benutzt MYSQL-SQL-Systax in Access2007-Tabellen :freak:
2. Fehler - Du benutzt ACCESS2007 (böse böse :) ) !!

3. ALLERDINGS . Der Vorteil von Access besteht in der mehr oder weniger
automatischen interaktiven SQL-Befehlssequenzerstellung welche mir
sowas wie folgt nahezu von selber erstellt hat.

Code: Alles auswählen

DELETE Tabelle1.*, Tabelle2.*
FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.id = Tabelle2.ID
WHERE (((Tabelle1.id)=[Tabelle2].[id]));
getest mit Access2K ..
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Löschen aus angegebenen Tabellen nicht möglich.
* abkotz * :freak:

Ich denke aber ich weiß was die Ursache dafür ist. Allerdings befürchte ich das ich das absolut nicht verständlich erklären kann. Nur so viel; Es sind insgesamt 3 Tabellen die sich alle aufeinander beziehen. Die Vergleichs-ID in Tabelle #1 ist einmalig, keine Dublikate derselben ID. Diese ID aus Tabelle #1 gibt es auch in Tabelle #2. Der Unterschied ist das in Tabelle #2 die ID mehrere Werte haben kann und somit öfters als einmal vorkommt.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

in access müssen für sowas mehrere Tabellen anständig verJOINt werden.
eine Kommaverknüpfung reicht da scheinbar nicht.

obiger Code geht .. es werden alle aus Tab1 und Tab2 gelöscht deren IDs identisch sind
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten