mysql - 如何在 SQL Select 语句中编写条件
问题描述
我有一个相当长的 SQL 查询来从存储过程中写入的数据库中提取一些值。我正在传递一个名为 studenttype 的 IN 参数,该参数将 =0 或 =1。
如果瞳孔类型值 = 1,我需要查询中的一行是:
AND tbl_4.status=1
但如果瞳孔类型值为 0,则需要为:
AND (tbl_4.status=0 OR tbl_5.ID IS NOT NULL)
我可以为整个查询设置一个条件,但这意味着重复了许多其他感觉不必要的代码行。有没有办法将此条件语句放在 SQL 语句本身中,就在这一行周围以运行不同的 AND 语句?
例如...:
WHERE tbl_1.sID=sID
AND tbl_2.spID=spID
AND tbl_3.progress!=''
AND tbl_4.status=1; // It's this line I need to be varied...
干杯
解决方案
像这样的东西:
( (pupiltype = 0 and tbl_4.status = 1) or
(pupiltype = 1 and (tbl_4.status = 0 OR tbl_5.ID IS NOT NULL))
)
推荐阅读
- java - Spring JPA save transient entity
- windows - Dart: Can i use it to create software with GUI?
- java - 过滤器逻辑应该在前端还是后端?
- javascript - 21 数数游戏(如 nim 游戏)
- python - 如何按条件计算每列的平均值
- java - 在 POM 中使用 By - Selenium
- php - PHP 三元运算符不能按预期工作?
- python - 无法返回列表中的值
- reactjs - 如何使用 React Native 为整个应用程序背景应用 react-native-linear-gradient
- php - 无法在其他功能中打印链接