【发布时间】:2014-02-07 06:09:55
【问题描述】:
Case Statement语法:-
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
SQL Server 2008中的Case Statement语法:-
Simple CASE expression:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
关注SQL SERVER CASE STATEMENT SYNTAX
我已经解释了不同之处,以便用户可以理解我在这里要说的内容
我在 MySql 中有以下代码:-
SELECT sum(case when Year=2014 or purchased=0 then 0 else TC.TOTAL_SP_COST-TC.TOTAL_CP_COST end) as EARNINGs
from TABLE TC
如果您正确查看案例陈述有 2 个字段(年份和购买)
当我在 MS SQL SERVER 2008 中尝试相同的代码时,当我尝试在 SQL SERVER 中的 case 语句中添加 2 个字段时,我在“或”下出现了一条红线。
SELECT sum(case (Year or purchased) when 2014 then 0 when 0 then 0 else TC.TOTAL_SP_COST-TC.TOTAL_CP_COST end) as EARNINGs
所以简单的问题是“我们可以在 SQL SERVER 中的 case 语句中添加多个字段吗?” 如是 我们该怎么做呢?
【问题讨论】:
-
您在没有事先研究的情况下提出问题而被否决,就像业余爱好者一样。就像在这里了解社区的练习一样,将鼠标悬停在任何问题旁边的投票箭头上。工具提示清楚地表明“这个问题显示了研究工作;它有用且清晰。”
-
有两个正确答案我很困惑为什么都不被接受。
-
@Zane - 有 2 个答案,我的代码中没有尝试过任何一个,一得到结果就会接受。
标签: mysql sql sql-server-2008