最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SqlServer 巧妙解決多條件組合查詢

 更新時間:2012年11月05日 16:07:00   作者:  
開發(fā)中經(jīng)常會遇得到需要多種條件組合查詢的情況,比如有三個表,年級表Grade(GradeId,GradeName),班級Class(ClassId,ClassName,GradeId),學(xué)員表Student(StuId,StuName,ClassId),現(xiàn)要求可以按年級Id、班級Id、學(xué)生名,這三個條件可以任意組合查詢學(xué)員信息
開發(fā)中經(jīng)常會遇得到需要多種條件組合查詢的情況,比如有三個表,年級表Grade(GradeId,GradeName),班級Class(ClassId,ClassName,GradeId),學(xué)員表Student(StuId,StuName,ClassId),現(xiàn)要求可以按年級Id、班級Id、學(xué)生名,這三個條件可以任意組合查詢學(xué)員信息。

  做法不止一種,這里提供一種巧妙的使用一條查詢來實現(xiàn)的辦法,我們來寫成一個過程,如下:
復(fù)制代碼 代碼如下:

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,'' --這是查詢所有學(xué)員信息
 exec up_select_student_combocondition 2,-1,'' --這是查詢年級Id為2的學(xué)員信息
exec up_select_student_combocondition -1,4,'' --這是查詢班級Id為4的學(xué)員信息
exec up_select_student_combocondition 2,4,'' --這是查詢年級Id為2且班級Id為4的學(xué)員信息
--etc....

相關(guān)文章

最新評論

宣威市| 兴安县| 茂名市| 英德市| 旺苍县| 西青区| 宁化县| 咸阳市| 包头市| 大同市| 宜宾县| 托里县| 依兰县| 松原市| 海伦市| 黑河市| 凉城县| 卢龙县| 延长县| 玉田县| 长白| 二手房| 张家川| 民乐县| 晋城| 梅河口市| 龙海市| 潜山县| 德令哈市| 喀喇沁旗| 昌宁县| 舟山市| 曲水县| 潼关县| 布拖县| 奈曼旗| 新泰市| 肃宁县| 汉寿县| 太仓市| 凭祥市|