手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SqlServer 巧妙解决多条件组合查询
SqlServer 巧妙解决多条件组合查询
摘要:开发中经常会遇得到需要多种条件组合查询的情况,比如有三个表,年级表Grade(GradeId,GradeName),班级Class(Clas...

开发中经常会遇得到需要多种条件组合查询的情况,比如有三个表,年级表Grade(GradeId,GradeName),班级Class(ClassId,ClassName,GradeId),学员表Student(StuId,StuName,ClassId),现要求可以按年级Id、班级Id、学生名,这三个条件可以任意组合查询学员信息。

做法不止一种,这里提供一种巧妙的使用一条查询来实现的办法,我们来写成一个过程,如下:

复制代码 代码如下:

create proc up_select_student_combocondition

@gradeId int,

@classId int,

@stuName nvarchar(10)

as

select s.*,c.classname,g.gradename from student s join class c on s.classid=c.classid join grade g on c.gradeid=g.gradeid

where

(@gradeId=-1 or g.gradeid=@gradeId) and

(@classId=-1 or c.classid=@classId) and

(@stuName='' or s.stuName=@stuName)

go

--那么:

exec up_select_student_combocondition -1,-1,'' --这是查询所有学员信息

exec up_select_student_combocondition 2,-1,'' --这是查询年级Id为2的学员信息

exec up_select_student_combocondition -1,4,'' --这是查询班级Id为4的学员信息

exec up_select_student_combocondition 2,4,'' --这是查询年级Id为2且班级Id为4的学员信息

--etc....

【SqlServer 巧妙解决多条件组合查询】相关文章:

SQL Server 日志文件清理

Sql Server 字符串聚合函数

Sql Server 2000删除数据库备份文件

sql server 2008安装失败的解决办法 彻底卸载老版本!

sql server 2000 版本查询

Sql Server 代理错误日志知多少

Sql Server中的视图介绍

sqlserver 2000 远程连接 服务器的解决方案

SQLServer 连接异常与解决方法小结

Microsoft Sql server2005的安装步骤图文详解及常见问题解决方案

精品推荐
分类导航