UPDATE "Mitglied"
SET "Dat" = '2019-06-30'
WHERE "ID_Mitglied" = (SELECT "ID" FROM "Tabelle" WHERE "Mitglied"."ID_Mitglied" = "Tabelle"."ID")
Zum Kontext: Die Tabelle "Mitglied" enthält Mitgliedsinformationen, "Dat" ist ein Datumsfeld der Mitgliedertabelle. Tabelle wiederum enthält 1 Feld "ID", in dem ausgewählte IDs der Tabelle "Mitglieder" enthalten sind. Das Datumsfeld "Dat" in der Mitgliedertabelle soll für die Einträge aus "Tabelle" mit '2019-06-30' gefüllt werden. Aber leider 0 rows updated.
UPDATE "Mitglied" AS "a"
SET "a"."Dat" = '2019-06-30'
WHERE "a"."ID_Mitglied" = (SELECT "ID" FROM "Tabelle" WHERE "a"."ID_Mitglied" = "ID")
Das muss mit einer korrelierenden Unterabfrage laufen. Nur dann weiß die in Klammern stehende Abfrage, was in der äußeren Bedingung als Wert für "ID-Mitglied steht. Nur wenn beides gleich ist ergibt die Unterabfrage einen Wert und das Datum wird gesetzt. Ansonsten weiß die Unterabfrage von der Tabelle "Mitglied" überhaupt nichts.
den Beitrag kannst Du als "gelöst" markieren, indem Du die Überschrift Deines Ursprungsbeitrages entsprechend änderst (z.B. [gelöst] hinzufügst.
Dass das Update mit der korrelierenden Unterabfrage nicht funktioniert liegt daran, dass die Unterabfrage auch leer sein kann - und dann ist der Code fehlerhaft:
"a"."ID_Mitglied" = NULL
ist nicht korrekt. NULL wird nur zusammen mit IS oder IS NOT gebraucht, nicht mit dem Gleichheitszeichen.