SQL中不同的参数使用不同的条件
来源:互联网 发布:js获取class下面的div 编辑:程序博客网 时间:2024/06/05 10:24
表中的所有数据
L_Pats_In_IdDispensing_Indicator1234012341在编写存储过程的时候有一需求,
当参数@GetOrderType=0的时候,取 Dispensing_Indicator=0的记录
当参数@GetOrderType=1的时候,取 Dispensing_Indicator>0的记录
SQL语句又不能这么写(报语法错误):
DECLARE @GetOrderType INT=0 --0未执行,1已执行
SELECT*
FROM His_In_Med_Orders
WHERE L_Pats_In_Id=‘1234’
AND Drug_Storage=‘3013H’
if (@GetOrderType=0)
BEGIN
AND Dispensing_Indicator=0
END
else if(@GetOrderType=1)
BEGIN
Dispensing_Indicator>0
END
经过思考调试,可能用以下方法解决:
当GetOrderType=0时:
DECLARE @GetOrderType int =0
SELECT L_Pats_In_Id,Dispensing_Indicator
FROM His_In_Med_Orders
WHERE L_Pats_In_Id='1234'
AND ((@GetOrderType=0 AND Dispensing_Indicator=0 ) or (@GetOrderType=1 AND Dispensing_Indicator>0 ))
得到的结果:
L_Pats_In_Id Dispensing_Indicator12340当GetOrderType=1时:
DECLARE @GetOrderType int =1
SELECT L_Pats_In_Id,Dispensing_Indicator
FROM His_In_Med_Orders
WHERE L_Pats_In_Id='1234'
AND ((@GetOrderType=0 AND Dispensing_Indicator=0 ) or (@GetOrderType=1 AND Dispensing_Indicator>0 ))
得到的结果:
L_Pats_In_Id Dispensing_Indicator12341- SQL中不同的参数使用不同的条件
- sql语句中如何根据不同的条件,执行不同的where条件
- 判断几个参数的不同状态,不同的情况写SQL语句判断条件,优化做法(仅供新手)
- MyBatis的JAVA类中,@Select中的sql根据条件执行不同的查询条件
- Oracle中不同条件的日期查询
- Oracle中不同条件的日期查询
- 根据条件判断使用不同的class
- (int *) 和 *(int **) 的不同使用条件
- 不同数据库在C#中使用参数化SQL语句的大同小异
- SQL Server2008中CROSS APPLY的应用范例(一)-将多个不同值更新到不同条件匹配的记录中
- 留坑- 使用不同的SQL
- C#中使用SQL语句生成DataTable,对不同的数据库,处理方式不同,返回的结果属性不同
- 在同一个sql语句中写不同条件的count数量,和查询半年的数据
- sql利用在一条语句中count出不同的条件的值
- Sql Server2005不同的表使用不同的表空间
- 不同国家的离婚条件
- sql 批量修改,根据不同的条件来修改数据
- mybatis中 #$ 注入参数的不同
- JavaScript 创建对象的七种方式
- javaweb学习总结(十八)——JSP属性范围
- 如何理解 Tornado ?
- springmvc的基本配置
- C 全局数组和局部数组(堆栈数组) 的初始化不同
- SQL中不同的参数使用不同的条件
- Java动态代理
- hihoCoder #1037 数字三角形
- Android 自带浏览器apk下载完成点击没反应
- 深入理解java异常处理机制
- Ubuntu opencv 多版本管理
- php连接数据库
- java聊天室(二)
- @Transactional(readOnly=false)