【已结贴】关于cognos中SQL的问题

问下 用 SQL出的报表  比如 SQL 是

select   xxxx,xxxx,xxxx,xxxx,xxxx from xxx  
where  xxx = #prompt("p_chn_no")#

可以用 #prompt("p_chn_no")#  给他传递参数  
这个是 p_chn_no 是必填项

如果是个 选填项要怎么写呢 ?

我前面做的是 吧这个 SQL 的查询项 里面的 某一项 拉到过滤器哪里  做成的 选填项  可是这样做 效率太低了 报表 跑了 6分钟才出来 项目经理不愿意了

谁知道 怎么把  选填项直接写到 SQL 里面吗?
参与5

5同行回答

4# Binhex.Huang 我的意思就是设置个永远为真的条件,类似于 1 = 1这样的。显示全部
4# Binhex.Huang


我的意思就是设置个永远为真的条件,类似于 1 = 1这样的。收起
2010-10-13
浏览726
漂流木DW漂流木DW技术经理省立医院
还是用你6分钟的那个方法,db中加个xxx索引试试?或者使用楼上的#prompt('p_chn_no','string','NULL')#,不过想办法用case 试试,让#prompt('p_chn_no','string','NULL')#不为null的时候,设置个永true的条件 ...cognoszhang 发表于 2010-10-12 23:17 个人也觉得应该从SQL语句的D...显示全部
还是用你6分钟的那个方法,db中加个xxx索引试试?
或者使用楼上的#prompt('p_chn_no','string','NULL')#,不过想办法用case 试试,让
#prompt('p_chn_no','string','NULL')#不为null的时候,设置个永true的条件 ...
cognoszhang 发表于 2010-10-12 23:17

个人也觉得应该从SQL语句的DB侧进行对SQL的优化!收起
医药 · 2010-10-13
浏览755
漂流木DW漂流木DW技术经理省立医院
where  xxx  =#prompt('p_chn_no','string','NULL')#如果没有的话就为null,或者改成别的字符也可以hxcognos 发表于 2010-10-12 17:39 条件选择了NULL,那完全跟原来的意思违背了吧?显示全部
where  xxx  =#prompt('p_chn_no','string','NULL')#
如果没有的话就为null,或者改成别的字符也可以
hxcognos 发表于 2010-10-12 17:39

条件选择了NULL,那完全跟原来的意思违背了吧?收起
医药 · 2010-10-13
浏览784
cognoszhangcognoszhang固定收益智能研究组临时负责人、大数据研究员天弘基金管理有限公司
还是用你6分钟的那个方法,db中加个xxx索引试试?或者使用楼上的#prompt('p_chn_no','string','NULL')#,不过想办法用case 试试,让#prompt('p_chn_no','string','NULL')#不为null的时候,设置个永true的条件显示全部
还是用你6分钟的那个方法,db中加个xxx索引试试?
或者使用楼上的#prompt('p_chn_no','string','NULL')#,不过想办法用case 试试,让
#prompt('p_chn_no','string','NULL')#不为null的时候,设置个永true的条件收起
基金 · 2010-10-12
浏览772
where  xxx  =#prompt('p_chn_no','string','NULL')#如果没有的话就为null,或者改成别的字符也可以显示全部
where  xxx  =#prompt('p_chn_no','string','NULL')#
如果没有的话就为null,或者改成别的字符也可以收起
2010-10-12
浏览753

提问者

Ishii_momoka
工程师西安银博科技

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-10-12
  • 关注会员:0 人
  • 问题浏览:3290
  • 最近回答:2010-10-13
  • X社区推广