如何解决在 where 子句中不知道 LHS 和 RHS 的情况下编写 SQL 查询
以下是几个过滤器:
'state' = "Tamil Nadu" / "Karnataka" / "Maharashtra" / "all"
过滤器
'city' = "Chennai" / "Kanyakumari" / "Madhurai" / "Bangalore" / "Mysore" / "Dharwad" / "Mumbai" / "Pune" / "all"
过滤器
" college" = any college in city / "all"
如果这些单个元素的值是“all”,那么我不必将它们包含在 where 子句中。这意味着那些值不是“all”的元素必须包含在 where 子句中。
喜欢:
(If the filter "college" is "all")
Select college_name,branches from Colleges where state = state and city = city.
(If city and college is "all")
Select college_name,branches from Colleges where state= state.
(If all the filters have "all")
Select college_name,branches from Colleges.
这是怎么做到的?请帮助我。
解决方法
您可以通过在 where 子句中检查参数来跳过参数:
Select college_name,branches
from Colleges
where (state = 'all' or "state" = @state)
and (city = 'all' or "city" = @city)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。