Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Löschabfrage mit inner join

Begonnen von mountainer96, Mai 06, 2016, 10:59:45

⏪ vorheriges - nächstes ⏩

mountainer96

Guten Tag,

ich versuche Datensätze aus der Tabelle "Adresse" zu löschen, welche ein Attribut (oder wie auch immer der Fachterminus sein mag) aus der Tabelle "Adressenselektion" besitzen.

In der Tabelle Adressenselektion befindet sich die Spalte "Selart" welche den Wert 9 enthalten muss.
In beiden Tabellen befindet sich die Spalte "Adresscode".

Es sollen also alle Datensätze aus der Tabelle Adressen gelöscht werden, welche den Wert Selart.9 in der Tabelle Adressenseletkion haben.

Daraus ergab sich für mich folgende Abfrage

DELETE Adressen.*
FROM Adressen inner join Adressenselektion
ON adressen.Adresscode=Adressenselektion.Adresscode
WHERE adressenselektion.selart=9;
Da meine SQL Zeiten dann doch ein wenig her sind, begreife ich gerade den Fehler nicht so ganz.
Als Fehler wird mir ausgegben das dass löschen in der Tabelle nicht möglich sei.

Vielen Dank für eure Hilfe!

MaggieMay

Hallo,

so sollte das klappen:
DELETE Adressen.*
FROM Adressen
Where adressen.Adresscode
IN (Select Adressenselektion.Adresscode
   From Adressenselektion
   WHERE adressenselektion.selart=9);
Freundliche Grüße
MaggieMay