【问题标题】:IF with parameter inside native queryIF 在本机查询中带有参数
【发布时间】:2020-06-02 16:43:18
【问题描述】:

我有一个问题。如果我碰巧进行了本机查询,并且需要使用将在调用中出现的参数在其中执行 if,则如下所示:

   case 
      when :var=1 then 
      inner join" +
     primeiroInnerJoin
     else " +
   inner join
   segundoInnerJoin
end

“:var”是一个变量,将在我的原生查询的调用中出现,我如何检查这个变量的值并根据变量的值更改查询?

【问题讨论】:

    标签: sql oracle hibernate jpa


    【解决方案1】:

    您需要将此作为存储过程调用并在数据库中使用动态 SQL 来有条件地构建查询。我不认为你可以在 SQL 中拥有不同的条件连接条件。

    【讨论】:

    • 谢谢朋友,试试其他解决方案。我在调用查询之前输入了一个验证,但我必须留下两个几乎相等的查询,只更改我希望作为动态的内部联接
    猜你喜欢
    • 2018-12-05
    • 1970-01-01
    • 2019-10-09
    • 2012-11-23
    • 1970-01-01
    • 2020-09-05
    • 2020-12-10
    • 2019-02-22
    • 2020-10-12
    相关资源
    最近更新 更多