Sql文的where中使用case when有这样一段sql文.select B.bCol_1,B.bCol_2,C.cCol_1from TBL_B B left join TBL_C Con B.bCol_Key = C.cCol_Keywhere B.bCol_Time < 'xxxx'现在需要扩展功能,就是只有当表B.bCol_Flag=0时,where的条件改为C
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 20:54:13
Sql文的where中使用case when有这样一段sql文.select B.bCol_1,B.bCol_2,C.cCol_1from TBL_B B left join TBL_C Con B.bCol_Key = C.cCol_Keywhere B.bCol_Time < 'xxxx'现在需要扩展功能,就是只有当表B.bCol_Flag=0时,where的条件改为C
Sql文的where中使用case when
有这样一段sql文.
select B.bCol_1,B.bCol_2,C.cCol_1
from TBL_B B left join TBL_C C
on B.bCol_Key = C.cCol_Key
where B.bCol_Time < 'xxxx'
现在需要扩展功能,就是只有当表B.bCol_Flag=0时,where的条件改为C.cCol_Time < 'xxxx',其他的情况保持不变.不知道where里面能不能再用case when或者还有其他的,如果能用的话,怎么个写法.
因为这个是扩展功能,而且这段代码是在Procedure中的,所以不太能用参数和if…else控制来写.
比较急,如果代码通过,我会加满分的.
Sql文的where中使用case when有这样一段sql文.select B.bCol_1,B.bCol_2,C.cCol_1from TBL_B B left join TBL_C Con B.bCol_Key = C.cCol_Keywhere B.bCol_Time < 'xxxx'现在需要扩展功能,就是只有当表B.bCol_Flag=0时,where的条件改为C
这样就可以了
select B.bCol_1,B.bCol_2,C.cCol_1
from TBL_B B left join TBL_C C
on B.bCol_Key = C.cCol_Key
where (B.bCol_Time < 'xxxx' and B.bCol_Flag0) or ( C.cCol_Time < 'xxxx' and B.bCol_Flag=0)