У меня есть три таблицы (A
, B
и C
), и я хотел бы обновить нулевые значения в A.appointment_id
значениями в C.tc_appointment_id
. Таблицы A
и C
могут быть объединены через таблицу B
. Синие стрелки представляют соединения, красная стрелка - обновление, которого я пытаюсь достичь.
Я могу объединить три таблицы вместе и попытался изменить свое предложение select в обновлении. Следуют мои успешные операторы выбора и неудачные обновления.
--Working select
select A.tc_ASN_id,A.appointment_id, B.appt_obj_id, B.appointment_id, C.appointment_id, C.tc_appointment_id from B
join A on B.appt_obj_id = A.asn_id
join C on C.appointment_id = B.appointment_id
where C.appt_status < '9' and A.appointment_id is null;
--Update attempt that ends with SQL Error: ORA-00933: SQL command not properly ended
update asn set appoinmtent_id = ilm_appointments.tc_appointment_id
join ilm_appointment_objects on ilm_appointment_objects.appt_obj_id = asn.asn_id
join ilm_appointments on ilm_appointments.appointment_id = ilm_appointment_objects.appointment_id
where ilm_appointments.appt_status < '9' and asn.appointment_id is null;
Ожидаемый результат - обновить все null
значения для A.appointment_id
, чтобы они обновлялись значениями из C.tc_appointment_id
.