Ich habe eine SQL-Abfrage, die die genaue Population zählt, deren Informationen ich mit einer UPDATE-Anweisung aktualisieren muss. Aber es enthält einige komplexe Joins und ich bin mir nicht sicher, wie ich diese Anweisung in einer UPDATE-Anweisung neu erstellen soll. Irgendeine Hilfe?Konvertieren einer SELECT-Anweisung in die entsprechende UPDATE-Anweisung
Meine Frage ist hier:
select distinct c.id
from implementation.tt_ngma_exclude_emails nee
join customer c on nee.util_account_id = c.util_internal_id
join customer_notification_contact cnc on cnc.customer_id = c.id
left join customer_notification_contact_audit cnca on cnca.customer_id = c.id
where cnc.changed_on = '2015-11-15 12:30:02';
Das Ziel hier ist es, ein bestimmtes Feld in der customer_notification_contact
Tabelle zu aktualisieren, nicht die Implementierung Tabelle I ausgewählt. Ich möchte das email
Feld in der CNC-Tabelle setzen überall auf NULL, das cnc.customer_id = c.id
Hier ist mein Versuch, aber es scheint nicht zu funktionieren:
UPDATE customer_notification_contact cnc
(select distinct cnc.customer_id opower_customer_id
from implementation.tt_ngma_exclude_emails nee
join customer c on nee.util_account_id = c.util_internal_id
join customer_notification_contact cnc on cnc.customer_id = c.id
where cnc.changed_on = '2015-11-15 12:30:02'
) T2
SET cnc.email = NULL
WHERE cnc.customer_id = T2.opower_customer_id;
die Joins bleiben gleich. Ändere einfach 'select ... from ...' zu' update ... ' –
Entschuldigung, ich denke, die ursprüngliche Frage war vage. Ich möchte customer_notification_contact aktualisieren. Nicht implementation.tt_ngma_exclude_emails. – Asif