首页 > 解决方案 > IF 在本机查询中带有参数

问题描述

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

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

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

标签: sqloraclehibernatejpa

解决方案


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


推荐阅读