我现在要做和SQL  Server提供的select  case  语句的功能,不知道Access是否支持?  
怎么才能解决这个问题呢?回答者有分  
如:  
select  (case    when  Column1='1'  then  '壹'  else  Column1  end)  as  NewColumn    
from  TableName  
 

解决方案 »

  1.   

    好像没有这样的功能。你可以把case的东西放数组里,用个循环拼字符串嘛。
      

  2.   

    不知道能不能支持, 如果不能 用 union 连接
      

  3.   

    用iif()代替:
    select iif(column1="1","壹",column1) as NewColumn from TableName
      

  4.   

    谢谢各位的关注,其实我是为了统计的,还有group by 部分没有写出来
    是为了统计公司在各报纸上作了多少广告,金额各为多少  由于上海的新闻报 改为
    晨 午 晚 三种 ,而我一起统计为新闻报了 不准确,但是因为以前的程序改动不方便
    只好用SQL来做了,我会给分的,希望各位能给我更好的建议select (case  when [报纸名称]='新闻报' and [备注] like '*晨*' then '新闻晨报'
                  when [报纸名称]='新闻报' and [备注] like '*午*' then '新闻午报'
                  when [报纸名称]='新闻报' and [备注] like '*晚*' then '新闻晚报'
                  else [报纸名称] end) as BZMC,sum([广告费]) from TableGG group by BZMC
      

  5.   

    select iif(column1="1","壹",column1) as NewColumn from TableName group by iif(column1="1","壹",column1)在这里,group by 后要跟计算式。iif()函数你自己去做完整。
      

  6.   

    ACCESS不支持CASE
    用其它方法。
      

  7.   

    iif只能过滤一种情况,无法过滤多种情况  像我上面的要求就没法写了
      

  8.   

    select iif(when [报纸名称]='新闻报' and [备注] like '*晨*' , '新闻晨报' ,
             iif(  when [报纸名称]='新闻报' and [备注] like '*午*' ,'新闻午报',
               iif(   when [报纸名称]='新闻报' and [备注] like '*晚*' , '新闻晚报'              , [报纸名称] ))) as BZMC,sum([广告费]) from TableGG group by BZMC
      

  9.   

    试了一下 iif不支持嵌套
    过一会儿结账
      

  10.   

    哪里有那么复杂?
    select iif([报纸名称]='新闻报', '新闻' & mid([备注],3,1) & '报', [报纸名称]) as BZMC,sum([广告费] from TableGG group by BZMC
      

  11.   

    楼主:iif支持嵌套的。of123的方法不错,如果这几个字出现在固定的位置的话。