用过Access的过来帮帮忙,回答一个简单SQL问题

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

...全文
88 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
crycoming 2003-07-15
  • 打赏
  • 举报
回复
谢谢两位,我再试试看
crycoming 2003-07-14
  • 打赏
  • 举报
回复
试了一下 iif不支持嵌套
过一会儿结账
victorycyz 2003-07-14
  • 打赏
  • 举报
回复
楼主:iif支持嵌套的。

of123的方法不错,如果这几个字出现在固定的位置的话。
of123 2003-07-14
  • 打赏
  • 举报
回复
哪里有那么复杂?
select iif([报纸名称]='新闻报', '新闻' & mid([备注],3,1) & '报', [报纸名称]) as BZMC,sum([广告费] from TableGG group by BZMC
crycoming 2003-07-08
  • 打赏
  • 举报
回复
谢谢各位的关注,其实我是为了统计的,还有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
nebbish 2003-07-08
  • 打赏
  • 举报
回复
select iif(when [报纸名称]='新闻报' and [备注] like '*晨*' , '新闻晨报' ,
iif( when [报纸名称]='新闻报' and [备注] like '*午*' ,'新闻午报',
iif( when [报纸名称]='新闻报' and [备注] like '*晚*' , '新闻晚报'

, [报纸名称] ))) as BZMC,sum([广告费]) from TableGG group by BZMC
crycoming 2003-07-08
  • 打赏
  • 举报
回复
iif只能过滤一种情况,无法过滤多种情况 像我上面的要求就没法写了
Alicky 2003-07-08
  • 打赏
  • 举报
回复
ACCESS不支持CASE
用其它方法。
victorycyz 2003-07-08
  • 打赏
  • 举报
回复
select iif(column1="1","壹",column1) as NewColumn from TableName group by iif(column1="1","壹",column1)

在这里,group by 后要跟计算式。iif()函数你自己去做完整。
victorycyz 2003-07-07
  • 打赏
  • 举报
回复
用iif()代替:
select iif(column1="1","壹",column1) as NewColumn from TableName
newste 2003-07-07
  • 打赏
  • 举报
回复
学习下
tangjinn 2003-07-07
  • 打赏
  • 举报
回复
不知道能不能支持, 如果不能 用 union 连接
jshyjyw 2003-07-07
  • 打赏
  • 举报
回复
好像没有这样的功能。你可以把case的东西放数组里,用个循环拼字符串嘛。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧