表数据如下
Field1 Field2
A01     Y
A01     N
A02     Y
A03     N
要得到结果:
Field1 Field2
A01     N
A02     Y
A03     N
求最简单SQL 
说明:
记录如果唯一,就直接取Field2的值,如果不唯一,就赋'N'

解决方案 »

  1.   

    select Field1,min(Field2) as Field2
    from tbl group by Field1
      

  2.   

    select Field1,Field2=(case when count(*)>1 then 'N' else Field2 end)
    from tbl group by Field1
      

  3.   

    select Field1, min(Field2) Field2
    from tb
    group by Field1不知够简单不哦
      

  4.   

    select Field1,Field2=(case when count(*)>1 then 'N' else min(Field2) end)
    from tbl group by Field1
      

  5.   


    create table #t(Field1 varchar(100), Field2 varchar(100))insert into #t
    select 'A01','Y' union all
    select 'A01','N' union all
    select 'A02','Y' union all
    select 'A03','N'select Field1,case when count(*)>1 then 'N' else min(Field2) end as Field2
    from #t a
    group by Field1drop table #t/*
    A01        N
    A02        Y
    A03        N*/
      

  6.   

    还有,这个写法错误:
    select Field1,Field2=(case when count(*)>1 then 'N' else Field2 end)
    from tbl group by Field1