ローカル Postgres データベースに 3 つのテーブルがあります。
[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) を検索し、そのすべてを単一の UPDATE ステートメント内で に変更animal_attrib_value_nameする'Some new value'必要があります。