2016-05-26 174 views
-1

我想要得到什么将被视为Excel中嵌套如果功能在查询中制定。查询的目标是创建一个视图,以便我可以比较两组数据。条件格式如果然后语句

如果在excel中,公式如下所示:= IF(condition1 = 0,condition2,IF(condition2 = 0,condition3,condition1))。

我不断收到此错误信息:

我曾尝试使用的查询语言是:

drop view danburycomp 
go 
create view danburycomp as 
SELECT *, 
     TotalCash=CASE 
        WHEN [cash out] = 0    THEN [cash counter cash in] 
        WHEN [cash counter cash in] = 0 THEN [cash counter cash out] 
                ELSE [cash out] 
       END 
FROM [trans jan-mar2016] 
WHERE [account number] IN ('UNIQUEID1', 'UNIQUEID2') 
    AND ([cash into trans] != 0 
     OR [cash out] != 0) 
    AND [date time trans] BETWEEN '2016-01-29' AND '2016-02-24' 
+1

那么是什么问题?有什么错误? \t请阅读[**如何提问**](http://stackoverflow.com/help/how-to-ask) \t \t这里是[** START **]( http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/)了解如何提高您的问题质量并获得更好的答案。 –

+0

向我们展示db模式和真正的查询你尝试...你不能比较DateID与字符串“'DATE''并比较'[COLUMN NAME]!= 0'两次 –

+0

@JuanCarlosOropeza,感谢您的建议编辑。我已尽力删除任何个人身份信息。谢谢。 – user2243

回答

0

两件事情:

  1. 而不是TotalCash=as TotalCashend后在案件陈述中。

  2. 案例逻辑关闭。如果现金出<> 0和[现金柜台现金输入] = 0,它将返回[现金柜台现金出],我认为这不是想要的。

所以用这个:

drop view danburycomp 
go 
create view danburycomp as 
select *, 
case 
    when[Cash Out]=0 and [Cash Counter Cash In]<>0 then [Cash Counter Cash In] 
    when [Cash Out]=0 and[Cash Counter Cash In]=0 then [Cash Counter Cash Out] 
    else [Cash Out] 
end as TotalCash 
from [Trans Jan-Mar2016] 
where [Account Number] in ('UNIQUEID1', 'UNIQUEID2') 
and ([Cash Into Trans] !=0 or [Cash Out]!=0) 
and [Date Time Trans] between '2016-01-29' and '2016-02-24'