Обновление Postgres с внутренним объединением через 2 таблицы?

У меня есть 3 таблицы в моей локальной базе данных Postgres:

[myschema].[animals]
--------------------
animal_id
animal_attrib_type_id (foreign key to [myschema].[animal_attrib_types])
animal_attrib_value_id (foreign key to [myschema].[animal_attrib_values])

[myschema].[animal_attrib_types]
--------------------------------
animal_attrib_type_id
animal_attrib_type_name

[myschema].[animal_attrib_values]
--------------------------------
animal_attrib_value_id
animal_attrib_value_name

Во время выполнения я буду знатьanimal_id, Мне нужно запустить SQL для обновленияanimal_attribute_value_name связано с этим элементом, так что-то вроде:

UPDATE
    animal_attribute_values aav
SET
    aav.animal_attribute_value_name = 'Some new value'
WHERE
    # Somehow join from the provided animal_id???

Возможно, мне придется сделать какое-то вложенноеSELECT или жеINNER JOIN внутриWHERE оговорка, но не уверен, как это сделать. Заранее спасибо!

Редактировать:

Позволять'говорят, у меня естьanimal запись со следующими значениями:

[myschema].[animals]
--------------------
animal_id = 458
animal_attrib_type_id = 38
animal_attrib_value_id = 23

И соответствующийanimal_attrib_value (с id = 23) имеет следующие значения:

[myschema].[animal_attrib_values]
--------------------------------
animal_attrib_value_id = 23
animal_attrib_value_name = 'I am some value that needs to be changed.'

Во время выполнения у меня есть толькоanimal_id (458). Мне нужно посмотреть соответствующийanimal_attrib_value (23) и изменить егоanimal_attrib_value_name в'Some new value'все внутри одного оператора UPDATE.

Ответы на вопрос(2)

Ваш ответ на вопрос