Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: mountainer96 am Mai 06, 2016, 10:59:45

Titel: Löschabfrage mit inner join
Beitrag von: mountainer96 am Mai 06, 2016, 10:59:45
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!
Titel: Re: Löschabfrage mit inner join
Beitrag von: MaggieMay am Mai 06, 2016, 12:53:41
Hallo,

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