使用Cognos 10的SQL中的条件where子句

时间:2015-12-29 10:32:26

标签: sql cognos

我有一个cogons报告,其中写有自定义sql查询。我在cluase中有大约10个语句。我希望根据条件执行的2个语句。 我把我的代码编写为:

#promptmany('Skills','integer') is not null and ( #promptmany('Skills','integer',' ','and SES.STSKL_ID in (','',')')#
                AND ISNULL(ses.stempskl_start_date, '1900-01-01') <= DATEADD(DAY, 13, CAST(SUBSTRING(REPLACE(#prompt('Work Date','string')#, '-', ''), 1, 8) AS datetime))
                ) 
                OR
                #promptmany('Skills','integer') is null and ( #promptmany('Skills','integer',' ','and SES.STSKL_ID in (','',')')#

#promptmany不接受空条件检查。请帮忙

1 个答案:

答案 0 :(得分:0)

有几件事是错的:

  1. 宏功能应以磅(#)开头和结尾。你不能在这里完成嵌套宏
  2. 英镑符号应该围绕一个宏观表达。你的内部有布尔条款。
  3. 您希望Cognos插入提示的每个部分都应该用磅包围:

    #promptmany('Skills','integer')# 
    

    我们的想法是让Cognos在将值传递给数据源之前将其插入SQL中。任何SQL都应该在宏表达式之外。