相关疑难解决方法(0)

Postgres更新了2个表的内部联接?

我在本地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
Run Code Online (Sandbox Code Playgroud)

在运行时我会知道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???
Run Code Online (Sandbox Code Playgroud)

我可能不得不做一些嵌套SELECTINNER JOINWHERE子句内部,但不知道如何做到这一点.提前致谢!

编辑:

假设我有一个animal包含以下值的记录:

[myschema].[animals]
--------------------
animal_id = 458
animal_attrib_type_id = 38
animal_attrib_value_id = 23
Run Code Online (Sandbox Code Playgroud)

相应的animal_attrib_value(id = 23)具有以下值:

[myschema].[animal_attrib_values]
--------------------------------
animal_attrib_value_id = 23
animal_attrib_value_name = …
Run Code Online (Sandbox Code Playgroud)

sql postgresql inner-join rdms sql-update

9
推荐指数
1
解决办法
3万
查看次数

标签 统计

inner-join ×1

postgresql ×1

rdms ×1

sql ×1

sql-update ×1