表:
ID  bh   type
1    1    0001
2    1    0002
3    2    0001
4    2    0002
5    1    0001
要查出的一条数据是:
id  bh  type
5    1   0001
怎么才能把表中对应的数据去掉,只显示没有对应的数据

解决方案 »

  1.   

    你是要去重复吗?如果是,可以用distinct
      

  2.   

    是去重复吧?select ditinct(ID),bh ,type
     FROM TABLENAME 
      

  3.   

    找出除主键不同的重复行,是吗
    create table Testjob (
           job_id     number    constraint testjob_pk primary key,
           job_name   nvarchar2(100) not null,
           job_dtm    date
    );
    查询表的内容, 和你的类似:
          job_id   job_name job_dtm
    1 A 1/17/2012
    2 B 1/18/2012
    3 A 1/11/2012
    4 B 1/24/2012
    5 A 1/17/2012
    找出除主键不同的重复行,重复行主键值大的select t.job_id,t.job_name,t.job_dtm from testjob t 
    where (t.job_name,t.job_dtm) in 
          (select t1.job_name,t.job_dtm from testjob t1 where t1.job_dtm=t.job_dtm
          group by
                  t1.job_name having count(*)>1)
          and 
          job_id not in (select min(job_id) from testjob t2 group by 
          t2.job_name having count(*)>1);
      

  4.   

    DELETE FROM TAB WHERE ID NOT IN (SELECT MIN(ID) ID FROM TAB GROUP BY BH,TYPE)
      

  5.   

    id 应该是oracle里面默认的第一列吧,楼主的意思应该是把bh!=1&&type!=0001的查出来?
      

  6.   


    SELECT * FROM TABLE A WHERE NOT IN(
    SELECT ID FROM TABLE B GROUP BY ID HAVING COUNT(1) >= 2 )