2017-08-02 54 views
0

我有两个表 og和新,我只想更新某些行的几何值。PostgreSQL从另一个表中更新某个值。

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' 

回答

0
in

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

and t1.geom <> 0