【问题标题】:Postgresql Update with subquery [duplicate]带有子查询的Postgresql更新[重复]
【发布时间】:2013-07-09 05:27:18
【问题描述】:
UPDATE Customer C
SET name = B.name, 
age = B.age
FROM (SELECT A.*, B.* FROM CUSTOMER_TEMP WHERE A.ID = B.ID) AS B

我得到了一个如上所述的 sql,在我运行查询后,它会将我的所有行更新为相同的结果。

我想知道我需要一个 where

UPDATE Customer C
SET name = B.name, 
age = B.age
FROM (SELECT A.*, B.* FROM CUSTOMER_TEMP WHERE A.ID = B.ID) AS D
WHERE C.ID = D.ID

但是我得到的这个 id 对于最后一个查询是不明确的。

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    试试这个

    update Customer set
        name = B.name, 
        age = B.age
    from Customer as C
        inner join CUSTOMER_TEMP as B on B.ID = C.ID
    

    SQL FIDDLE EXAMPLE

    【讨论】:

      猜你喜欢
      • 2012-07-20
      • 2018-03-31
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多