从TABLE1中选择所有字段,同时再加一个字段,该字段的值为0或1。规则如下:如果TABLE1中的NUM字段再TABLE2中能找到,则为1,否则为0。TABLE1
NUM FIELD1 FIELD2
1   vvb    23
2   asd    54
3   aaa    75
4   agg    32TABLE2
NUM
2
3希望得到如下结果
TABLE_RESULT
NUM FIELD1 FIELD2 FIELD_ADD
1   vvb    23     0
2   asd    54     1
3   aaa    75     1
4   agg    32     0

解决方案 »

  1.   

    SELECT A.NUM,A.FIELD1,A.FIELD2,
           NVL((SELECT 1 FROM TABLE2 B WHERE B.NUM = A.NUM),0) AS FIELD_ADD
    FROM TABLE1 A
      

  2.   

    select a.*,nvl(b.num,1,0) from TABLE1 a,TABLE2 b where a.num=b.num(+)
      

  3.   

    select a.*,nvl2(b.num,1,0) FIELD_ADD from TABLE1 a,TABLE2 b where a.num=b.num(+)
      

  4.   

    select TABLE1.NUM, TABLE1.FIELD1, TABLE1.FIELD2,
    FIELD_ADD = case when TABLE1.NUM is null then 0
                     else 1
    TABLE1 left outer jion TABLE2
    on(TABLE1.NUM =TABLE2.NUM )