我有一个相当长的 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...
干杯
答案 0 :(得分:0)
像这样:
( (pupiltype = 0 and tbl_4.status = 1) or
(pupiltype = 1 and (tbl_4.status = 0 OR tbl_5.ID IS NOT NULL))
)