2017-08-02 6 views
0

私は2つのテーブルを持っています ogとnewと、特定の行のgeom値を更新したいだけです。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スクリプトはどのように私は1つのスクリプトで複数の行を更新することができ、1行を更新することができます。

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 
関連する問題