设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[其它] 在SQL的视图上用CASE WHEN 语句怎么写?

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-6 23:09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
很少搞SQL的东东......看过帮助了但还是搞不懂 CASE WHEN 语句啊!简单的就做得出来~可是一多几句就接不上啦!各位帮个忙写写!

如果 left(pno,1)='p'  就如果Stime > getdate() -33 (两个都成立就显示) 'normal-old' (只有第一个成立就显示) 'normal-current' (都不成立就) 如果 left(pno,1) = 't'如果Stime > getdate() -33 (两个都成立就显示) 'TT-old' (只有第一个成立就显示) 'TT-current' (两个都不成立) 如果 left(pno,1) ='F' 就显示 'FP'[em06]

[此贴子已经被作者于2006-6-7 9:28:37编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-7 00:45:00 | 只看该作者
iif( left(pno,1)='p' ,iif( Stime > getdate() -33 , 'normal-old' , 'normal-current'),iif( left(pno,1) = 't', iif(Stime > getdate() -33, 'TT-old' , 'TT-current'),iif(left(pno,1) ='F', 'FP',)))

我觉得用IIF()简单些



CASE俺不会用

[此贴子已经被作者于2006-6-6 16:49:32编辑过]

3#
发表于 2006-6-7 04:49:00 | 只看该作者
这样多层的条件判断在SQL中建议用IF...ELSE
4#
 楼主| 发表于 2006-6-7 17:15:00 | 只看该作者
以下是引用wuaza在2006-6-6 20:49:00的发言:
这样多层的条件判断在SQL中建议用IF...ELSE

前阵子发贴问过~不是有人说SQL不支持IF 吗??
5#
发表于 2006-6-7 17:27:00 | 只看该作者
当然支持。

不过得用T-SQL语言,分多个语句块。
6#
发表于 2006-6-7 17:32:00 | 只看该作者
SELECT DISTINCTROW data.属性, data.产品名称, data.日期, Sum(data.件数) AS 销售数, Sum(IIf([相关单号]="O#样品" Or [相关单号]="O#补/换货",0,IIf([属性]="上海",0,[件数]/1000*[pricies].[HK$(1000)]))) AS 销售额HK, Sum(IIf([相关单号]="O#样品" Or [相关单号]="PO#补/换货",0,IIf([属性]="上海",[件数]/1000*[pricies].[RMB(1000)],0))) AS 销售额RMB, data.相关单号
FROM data LEFT JOIN Pricies ON data.产品名称 = Pricies.SKU
GROUP BY data.属性, data.产品名称, data.日期, data.相关单号;

晕死,看我写的……IIF够多了吧
7#
 楼主| 发表于 2006-6-7 18:06:00 | 只看该作者
以下是引用fannky在2006-6-7 9:32:00的发言:




SELECT DISTINCTROW data.属性, data.产品名称, data.日期, Sum(data.件数) AS 销售数, Sum(IIf([相关单号]="O#样品" Or [相关单号]="O#补/换货",0,IIf([属性]="上海",0,[件数]/1000*[pricies].[HK$(1000)]))) AS 销售额HK, Sum(IIf([相关单号]="O#样品" Or [相关单号]="PO#补/换货",0,IIf([属性]="上海",[件数]/1000*[pricies].[RMB(1000)],0))) AS 销售额RMB, data.相关单号
FROM data LEFT JOIN Pricies ON data.产品名称 = Pricies.SKU
GROUP BY data.属性, data.产品名称, data.日期, data.相关单号;



晕死,看我写的……IIF够多了吧

啊啊?在是SQL的视图上写的吗? 我试过把原来在ACCESS上的COPY过去但用不了哦!
8#
发表于 2006-6-7 19:37:00 | 只看该作者
可以在设计视图中先建立关系,然后建立子定义子段冒号指明If条件,这样简单些,对大脑的损伤小些!哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-23 21:24 , Processed in 0.112350 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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