PostgreSQL从另一个表更新某个值。

时间:2017-08-02 16:27:20

标签: postgresql

我有两张桌子 og和new,我只想更新某些行的geom值。

og表。

des| geom
----------
 A |  1
 B |  2
 C |  3
 D |  4
 E |  5
 F |  6
 G |  7
 H |  8

新表

description| geom
------------------
         A |  0
         B |  0
         C |  500
         D |  0
         E |  700
         F |  0
         G |  0
         H |  300

我想只更新“C”,“E”和“H”行的geom。

所以og表就是这样的。

des| geom
----------
 A |  1
 B |  2
 C |  500
 D |  4
 E |  700
 F |  6
 G |  7
 H |  300

我的SQL脚本只能更新一行,如何在一个脚本上更新多行。

UPDATE og t0  
SET 
  geom = t1.geom 
FROM 
  new t1 
WHERE 
  t0.des = t1.description
AND t0.des = 'C' 

1 个答案:

答案 0 :(得分:0)

in

AND t0.des in ('C','E','H') 

and t1.geom <> 0