我现有一表table1,数据表结构如下
编号      金额
1245        0
9578        2
0768        0     
0745        5    求能用PL/SQL语句得出如下结果,即查询两字段同时都不满足条件的记录,即查询编号的第一位同时不等于0,金额也不等0的,得出结果即只有第3条记录完全适合条件,不显示出来,且记:
    是排除同时不满足两个字段条件的记录!编号<>0% 和金额<>0  早就知道这里高手如云,望能指点!编号      金额
1245        0
9578        2
0745        5

解决方案 »

  1.   

    select t1.'编号',t1.'金额'
      from table1 t1
     where t1.'金额' <> 0
       and instr(t1.'编号','0',1,1) <> 1;如果是写存储过程,就把上面sql查询的结果用一个cursor结果集返回就OK了
      

  2.   

    A交B的反 where not (t.编号='0%' and t.金额=0);
    A的反并B的反 where t.编号<>'0%' or t.金额<>0;
      

  3.   

    2楼的确不太对,3楼的意思是,按照逻辑,
    你只需要将2楼的语句中的and改成or即可。
    如:
    select t1.'编号',t1.'金额'
      from table1 t1
     where t1.'金额' <> 0
       or instr(t1.'编号','0',1,1) <> 1;
      

  4.   

    select t1.'编号',t1.'金额'
      from table1 t1
     where not (t1.'金额' = 0
       and instr(t1.'编号','0',1,1) = 1);