SQL eine Spalte aus einer anderen Spalte in einer anderen Tabelle aktualisieren

Ich habe vorher verschiedene Posts gelesen. aber keiner von ihnen schien für mich zu arbeiten.

Wie der Titel schon sagt, versuche ich, eine Spalte aus einer Spalte in einer anderen Tabelle zu aktualisieren. Ich erinnere mich nicht, dass ich vorher Probleme damit hatte.

1. Tabelle: user_settings.contact_id, ich möchte mit contacts.id aktualisierenwhere (user_settings.account_id == contacts_account_id)

2. Bisher wurden Kontakte über die account_id mit Benutzerkonten verknüpft. Jetzt möchten wir jedoch einen Kontakt mit @ verknüpfeuser_settings viacontacts.id

Below sind ein paar Beispiele von dem, was ich versucht habe, obwohl keiner von ihnen funktioniert hat. Ich würde mich interessieren für A.) Warum sie nicht funktionieren und B.) Was soll ich stattdessen tun.

Beispiel A:

UPDATE user_settings
SET user_settings.contact_id = contacts.id 
FROM user_settings 
INNER JOIN contacts ON user_settings.account_id = contacts.account_id

Beispiel B:

UPDATE (SELECT A.contact_id id1, B.id id2
  FROM user_settings A, contacts B
  WHERE user_settings.account_id = contacts.account_id)
SET id1 = id2

Beispiel C:

UPDATE user_settings
SET user_settings.contact_id = (SELECT id
  FROM contacts
  WHERE (user_settings.account_id = contacts.account_id)
WHERE EXISTS ( user_settings.account_id = contacts.account_id )

Ich fühle mich wie mein Gehirn nur auf mich heruntergefahren und würde jede Beule schätzen, um es neu zu starten. Vielen Dank :

Antworten auf die Frage(4)

Ihre Antwort auf die Frage