首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写SQR条件语句

编写SQR条件语句
EN

Stack Overflow用户
提问于 2014-03-09 16:31:51
回答 1查看 4.6K关注 0票数 1

我是SQR的新手。我需要帮助来编写变量并将其用于条件语句。我的伪代码

代码语言:javascript
复制
declare $head_print

let $head_print = (select * from PS_DTR_RPT_ACCT
where RPT_TREE_NODE = 'REAL_ESTATE_EXP' 
or TREE_NODE_NUM between 4600000 and 4699999)

if(head_print contain REAL_ESTATE_EXP or Account between 46000000 and 4699999)
then head_print = "REAL ESTATE";
else head_print = "Capital ESTATE";
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-19 17:43:49

不太清楚你想要什么所以我做了个假设。如果某一价值在表PS_DTR_RPT_ACCT中,那么你想让它说“房地产”,否则就说“资本地产”。

现在,对于SQR,您必须将SQL放在一个开始-选择块-规则是非常严格的-字段名必须在第1列-代码下面而不是在第1列。在下面的例程中,我尝试在真正的SQR中编码您的伪代码,但是,我无法测试它,这样您可能会出错-而且我不知道您的字段名,因为它只是说"select *“。

代码语言:javascript
复制
Begin-Report

   do GetData

End-Report

Begin-Procedure GetData

! Initialize value - if no data found, query this later and set it to the "ELSE"
Let $Head_print = ''

Begin-Select

Head_Print
   ! Override the value from the table but only if you need to
   Let $Head_Print = 'REAL ESTATE'

from PS_DTR_RPT_ACCT
Where RPT_TREE_NODE = 'REAL_ESTATE_EXP' 
or TREE_NODE_NUM between 4600000 and 4699999)

End-Select 

! If $Head_print is blank, then no value was found with the sql - do the ELSE part
If $Head_Print = ''
   Let $Head_Print = 'Capital Estate'
End-If

End-Procedure

SQR是一门很好的有限语言--语法有点严格,但与SQL的基本语言一样简单。我建议您阅读参考手册--它可以从Oracle下载。

请随便问一下关于SQR的其他问题--如果你知道的话,我会收到警告--抱歉,这么长时间才能回答。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22284812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档