【问题标题】:ORACLE APEX SQL QUERYORACLE APEX SQL 查询
【发布时间】:2022-01-01 05:53:09
【问题描述】:

我有一个关于将在 Oracle Application Express 中执行的 sql 语句的问题。 我有这个查询列出了基于 JIRA 密钥的测试运行,但不包括我指定的一些:

 select name as d, test_run_id as r From test_run 
Where project_jira_key=:TR_BASED_ON_PROJECT and folder_id NOT IN(select folder_id from folder where name in (select column_value from table (apex_string.split(config.get('ATM_DASHBOARD_CONFIGURATION_FOLDER_EXCLUDE'), ','))));

我想添加一个 CASE 或 IF 表达式,如果 project_jira_key=null(非用户给出)将执行

 select name as d, test_run_id as r From test_run 
Where folder_id NOT IN(select folder_id from folder where name in (select column_value from table (apex_string.split(config.get('ATM_DASHBOARD_CONFIGURATION_FOLDER_EXCLUDE'), ','))));

基本上代码的第二部分是相同的,它只是不选择特定的 'project_jira_key' 或选择所有 project_jira_keys。换句话说:执行第一个查询,但如果没有给出 project_jira_key,则执行第二个查询。 提前致谢

【问题讨论】:

  • 您可以使用 PLSQL 使用函数

标签: sql oracle oracle-apex


【解决方案1】:

您可以通过组合 where 谓词来做到这一点:

select name as d, test_run_id as r From test_run 
 where ( project_jira_key = :TR_BASED_ON_PROJECT and folder_id not in ( ... ))
    or ( project_jira_key is null and folder_id NOT IN ( ... ))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多