设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3819|回复: 5
打印 上一主题 下一主题

[其它] SQLSERVER视图中的SELECT语句中如何用IF

[复制链接]
跳转到指定楼层
1#
发表于 2015-8-30 10:05:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 koutx 于 2015-8-30 10:08 编辑

在ACCESS中可用比如:进项额:IIF(进出额>0,进出额,Null),在SQL SERVER中建立视图中如何实现这种效果?
说明:
表如下:
id                  进出额
1                        120
2                           80
3                          -70
想达到在视图中如下多出一列统计列“进项”;和一列“出项”如下:
id                进出额         进项     出项
1                       120                  120                 
2                         80                    80
3                       -70                                   70
问:SELECT id, 进出额, 后面两列怎么写呢?
如果是在ACCESS中,只需SELECT id, 进出额, IIF(进出额>0,进出额,Null) AS 进项, IIF() AS 出项 FROM 表;即可,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2015-8-30 15:35:37 | 只看该作者
好像是用case when吧?试试:
SELECT id, 进出额,
CASE WHEN 进出额 >0 THEN 进出额
ELSE NULL END 进项,
CASE WHEN 进出额 <=0 THEN 进出额
ELSE NULL END 出项
from 表
3#
 楼主| 发表于 2015-8-30 16:01:19 | 只看该作者
roych 发表于 2015-8-30 15:35
好像是用case when吧?试试:
SELECT id, 进出额,
CASE WHEN 进出额 >0 THEN 进出额

不行啊,提示错误

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
 楼主| 发表于 2015-8-30 19:56:04 | 只看该作者
roych:又试了一下,不光在视图的SELECT 选择列表中不行,在查询窗口键入这些代码,也不行。真不知什么原因。
5#
发表于 2015-8-31 12:17:30 | 只看该作者
本帖最后由 roych 于 2015-8-31 12:18 编辑

奇怪,非要用as么?

SELECT id, 进出额,
(CASE WHEN 进出额 >0 THEN 进出额
ELSE NULL END ) As进项,
(CASE WHEN 进出额 <=0 THEN 进出额
ELSE NULL END ) As 出项
from 表

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2015-8-31 16:04:43 | 只看该作者
再次谢谢,找到原因了,在查询分析器中创建即可通过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-9 10:10 , Processed in 0.081785 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表