select distinct 项目,区分 from tbname
where  区分 <> 'G9.IL2';

解决方案 »

  1.   

    select distinct(项目,区分) from table where 区分<>G9.IL2
      

  2.   

    谢谢楼上的两位,按照两位的建议,好像都是先抽取重复值,然后再去掉G9.IL2行,即结果为
    AA     G9.IL7
    AA     GZ.SL
    BB     G9.IL7
    BB     GZ.SL
    CC     G9.IL7而我要的是先把G9.IL2行去掉,然后在去掉的基础上再抽取重复值
      

  3.   

    select  distinct  项目,区分  from  
    (select * from tbname  
    where  区分  <> 'G9.IL2') t;
      

  4.   

    select 项目, 区分 from tablename
    where 区分  <> 'G9.IL2'
    group by 项目, 区分
      

  5.   

    select distinct(项目,区分) from table where 区分<>G9.IL2  oracle不支持这样的distinct用法吧
      

  6.   

    原来的表格去掉G9.IL2以后,就变成了
    项目   区分
    AA     G9.IL7
    AA     GZ.SL
    BB     G9.IL7
    BB     GZ.SL
    CC     G9.IL7
    在这个基础上把项目重复的数值是AA和BB,所以结果为
    AA     G9.IL7
    AA     GZ.SL
    BB     G9.IL7
    BB     GZ.SL但是按照大家给出的提议,都多了一行
    CC     G9.IL7
      

  7.   

    select distinct(项目,区分) from table where 区分<>G9.IL2  oracle不支持这样的distinct用法吧就是大概写了一下,相当于伪码吧,呵呵!你没见字符串都没有括呢。
      

  8.   

    select *
    from table
    where 项目 in (select 项目 from table group by 项目 having count(*)>1) 
    and 区分 <> 'G9.IL2'
      

  9.   

    SELECT * FROM 
          (
           SELECT DISTINCT 项目,区分 FROM TABLE
          )
    WHERE 区分 <> 'G9.IL2'
      

  10.   

    回tiger_shi() :
    我是在ACCESS上执行的回zhaokeke2004(/ *** 爱拼才会赢 ***/):
    你的结果和我的一样都多了
    CC     G9.IL7
    这一行
      

  11.   

    sorry,是这样的select *
    from table
    where 项目 in (select 项目 from ttest where 区分 <> 'G9.IL2' group by 项目 having count(*)>1 ) 
    and 项目 <> 'G9.IL2'
      

  12.   

    sorry,写错了select *
    from table
    where 项目 in (select 项目 from table
                   where 区分 <> 'G9.IL2' 
                   group by 项目 having count(*)>1 ) 
    and 区分 <> 'G9.IL2'