sql - IF 在本机查询中带有参数
问题描述
我有个问题。如果我碰巧进行了本机查询,并且需要使用将在调用中出现的参数在其中执行 if,则如下所示:
case
when :var=1 then
inner join" +
primeiroInnerJoin
else " +
inner join
segundoInnerJoin
end
":var" 是一个变量,将在我的本机查询的调用中出现,我如何检查这个变量的值并根据变量的值更改查询?
解决方案
您需要将此作为存储过程调用并在数据库中使用动态 SQL 来有条件地构建查询。我不认为你可以在 SQL 中有不同的条件连接条件。
推荐阅读
- scala - Spark Scala 将 Int 列转换为日期时间
- java - Spring RestController 不显示 html 页面,仅显示文本
- azure - 我应该在生产环境中使用 Azure AD SAML 工具包吗?
- sas - 是否有一种简单的方法可以在 SAS 中复制存储过程?
- c++ - 使我的函数调用 async_read 异步 Boost::asio
- react-native - 多个过滤器/过滤器内过滤器 - React Native
- c - 是否有可以指示任何类型更改的 GCC 警告?
- ionic-framework - 如何在 ionic app 中实现内网推送通知
- javascript - useReducer 未同步更新项目数组,渲染延迟
- python - 获得最大高度函数的名称错误