Oracle选择/更新字段,其中字段存在另一个表的Instr(字段)

时间:2014-02-19 17:38:57

标签: sql oracle

我想在Table1.field2

中更新Table1.field1我找到Table2.field1的位置

示例:

UPDATE Table1 t1 
   SET t1.field2 = 'yes' 
 where Instr(t2.field1, Table2.field1) > 0 

我已经尝试了其他一些方法,我理解我的例子可以定义,而不是这样做的方式。我认为它最能说明我想要实现的目标。

由于

2 个答案:

答案 0 :(得分:0)

下面的加入将以笛卡尔结果

结束
UPDATE Table1 t1 SET t1.field2 = 'yes' 
where EXISTS
(SELECT 'X' FROM Table2 t2 where Instr(t1.field1, t2.field1) > 0 

答案 1 :(得分:0)

使用exists子句。

UPDATE Table1 t1
   SET t1.field2 = 'YES'
 WHERE EXISTS
          (SELECT 1
             FROM Table2 t2 
            WHERE t1.primary_key = t2.foreign_key
             and INSTR (t1.field1, t2.field1) > 0);