一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務器之家 - 數(shù)據(jù)庫 - Sql Server - SqlServer 巧妙解決多條件組合查詢

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

2019-12-24 14:29MSSQL教程網(wǎng) Sql Server

開發(fā)中經(jīng)常會遇得到需要多種條件組合查詢的情況,比如有三個表,年級表Grade(GradeId,GradeName),班級Class(ClassId,ClassName,GradeId),學員表Student(StuId,StuName,ClassId),現(xiàn)要求可以按年級Id、班級Id、學生名,這三個條件可以任意組合查詢學

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

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

復制代碼代碼如下:


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....

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久GOGO无码啪啪艺术 | 波多野结衣中文丝袜字幕 | 国产青青草 | 久久这里都是精品 | 性柔术xxxhd 性派对videos18party | 2019天天干天天操 | 亚洲午夜精品久久久久久成年 | 外国黄色软件 | 把美女屁股眼扒开图片 | 日本孕妇大胆孕交 | 亚洲国产成人久久99精品 | 私人家庭影院5577 | 亚洲AV精品一区二区三区不卡 | 四虎影视黄色 | 国产高清在线精品一区 | 热剧库 | 成人伊人青草久久综合网破解版 | 欧美亚洲国产另类在线观看 | 99精品国产综合久久久久 | 亚洲国产99在线精品一区69堂 | 菠萝视频在线完整版 | bt天堂在线观看国产 | 欧美日韩精品一区二区三区视频在线 | 男男双性生子产乳高辣h | 久草在线福利视频在线播放 | 精品久久久久久久高清 | 国产精品一区二区在线观看完整版 | ak福利影院 | 99热在线免费观看 | 欧美日韩精品乱国产538 | 国产肥臀| 日本不卡一区二区三区在线观看 | 免费yjsp妖精com | 清纯漂亮女友初尝性过程 | 男女男精品视频 | 72张让男人一看就硬的图片 | a亚洲天堂 | zol中关村在线官网 yy6080欧美三级理论 | japanese在线观看 | 日本高清动作片www欧美 | 母爱成瘾在线观看 |