Select sz,sjsfty, count(*)as total from l_Zjgcsshspb where sjsfty='合格'or sjsfty='不合格'  group by sz,sjsfty

解决方案 »

  1.   

    或者
    Select sz,sjsfty, count(*)as total from l_Zjgcsshspb where sjsfty='合格'group by sz,sjsfty
    union
    Select sz,sjsfty, count(*)as total from l_Zjgcsshspb where sjsfty='不合格'group by sz,sjsfty
      

  2.   

    Select sz,sjsfty, count(*)as total from l_Zjgcsshspb  group by sz,sjsfty 简单点就可以了吧,弄那么复杂干什么,试试看。
      

  3.   

    select sz,'合格' as 是否合格,sum(case when sjsfty='合格' then 1 else 0 end ) as total from l_zjgcsshsph group by sz
    union 
    select sz,'不合格',sum(case when sjsfty='不合格' then 1 else 0 end )
    from l_zjgcsshsph gruop by sz
    order by sz,是否合格
      

  4.   

    这在sql server下支持,在access下确不行,这是标准的sql语句吗?
      

  5.   

    不是标准的,CASE在ACCESS中不支持。
      

  6.   

    在access下执行没有问题,我测试了
      

  7.   

    没试过:(可以用IIF代替select sz,'合格' as 是否合格,sum(iif(sjsfty='合格' , 1 , 0)) as total from l_zjgcsshsph group by sz
    union 
    select sz,'不合格',sum(iif(sjsfty='不合格' , 1 , 0)) 
    from l_zjgcsshsph gruop by sz
    order by sz,是否合格
      

  8.   

    iif 和case有什么区别吗?
    为什么iif在access里就能用呢?iif在sql server2000里能用吗?
      

  9.   

    iif在Access中可以用,在sql server中不能用。
      

  10.   

    为什么不能用呢。sql-server不是更功能完善些吗?