Office中国论坛/Access中国论坛

标题: 在SQL的视图上用CASE WHEN 语句怎么写? [打印本页]

作者: K仔    时间: 2006-6-6 23:09
标题: 在SQL的视图上用CASE WHEN 语句怎么写?
很少搞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编辑过]


作者: fannky    时间: 2006-6-7 00:45
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编辑过]


作者: wuaza    时间: 2006-6-7 04:49
这样多层的条件判断在SQL中建议用IF...ELSE
作者: K仔    时间: 2006-6-7 17:15
以下是引用wuaza在2006-6-6 20:49:00的发言:
这样多层的条件判断在SQL中建议用IF...ELSE

前阵子发贴问过~不是有人说SQL不支持IF 吗??
作者: wuaza    时间: 2006-6-7 17:27
当然支持。

不过得用T-SQL语言,分多个语句块。
作者: fannky    时间: 2006-6-7 17:32
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够多了吧
作者: K仔    时间: 2006-6-7 18:06
以下是引用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过去但用不了哦!
作者: fannky    时间: 2006-6-7 19:37
可以在设计视图中先建立关系,然后建立子定义子段冒号指明If条件,这样简单些,对大脑的损伤小些!哈




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3