ローカル 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'
必要があります。