更新表基于具有条件的另一个表

时间:2016-08-24 14:36:51

标签: sql postgresql

我有三个表,在根据具有条件

的另一个表更新表时遇到一些困难
update table1 
    set val = (Select case 
                        when (ST_Intersects(t1.geom,t2.geom) and ST_Intersects(t1.geom,t3.geom)) then 100
                        when ST_Intersects(t1.geom,t3.geom) then 50 
                        when ST_Intersects(t1.geom,t2.geom) then 25 
                        else 0 
                      End 
              from table1 t1, 
                   table2 t2, 
                   table3 t3 
            where t1 = id and t2 = id and t3 = id)

以以下错误结束

  

“错误:用作表达式的子查询返回的多行   SQL状态:21000“

如何解决这个问题?

0 个答案:

没有答案