Postgresql
用沒有關係的其他表填充表的列
您好,我在 PostgreSQL 中有 2 個表:第一個
"Products" id price factor1 factor2
列 factor1 和 factor2 它們都是空的,我想用另一個表的數據填充它們
"Article" id factor1 factor2
我想填充 Product 的 id 與 Article 相同但表格彼此或 FK 沒有關係的列,那麼我該如何完成呢?
我試過這個:
UPDATE Products SET factor1 = (SELECT factor1 FROM Article WHERE Article.id = Products.id) WHERE EXISTS (SELECT factor1 FROM Article WHERE Article.factor1 = Products.id)
但我收到此錯誤:
SQL 錯誤
$$ 42P01 $$:錯誤:關係“文章”不存在位置:213
更緊湊的寫法是:
UPDATE Products SET factor1 = article.factor1 from Article WHERE Article.id = Products.id and products.factor1 is null
正如@a_horse_with_no_name 在評論中指出的那樣:
“文章”是與文章不同的名稱
擺弄您目前的表名和查詢:
返回您的錯誤:
錯誤:關係“產品”不存在第 1 行:
更新產品
但是如果你取消引用它:
它工作正常。