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

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

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

服務(wù)器之家 - 數(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),學(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é)員信息。 

  做法不止一種,這里提供一種巧妙的使用一條查詢來實(shí)現(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....

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久9视频这里只有精品123 | 99久久综合久中文字幕 | 美女福利视频网站 | 国产午夜一区二区在线观看 | 性色AV一区二区三区V视界影院 | 男人天堂色男人 | 亚洲国产精品久久久久久网站 | 嫩草影院久久99 | 青草视频在线观看免费网站 | 欧美一区二区三区在线观看免费 | 亚洲国产欧美在线人成aaa | 扒开老师两片湿漉的肉 | 男男羞羞视频网站国产 | 四虎在线观看 | 冰漪丰满大乳人体图片欣赏 | 古代双性美人被老糟蹋 | 91麻豆精品国产 | 午夜特级毛片 | 成人国产一区 | 国产51页| 欧美高清免费一级在线 | 国产婷婷高清在线观看免费 | 人人九九| www.片| 福利片免费一区二区三区 | 久久99re热在线观看视频 | 99久久国产综合精品网成人影院 | 国产主播99| 午夜私人福利影院 | www.四虎在线观看 | 欧洲美女啪啪 | 国产成人亚洲综合91精品555 | a级免费在线观看 | 精品国产一区二区三区国产馆 | 厨房高h| 日本高清在线精品一区二区三区 | 精品国产免费第一区二区 | 亚洲AV福利天堂一区二区三 | 狠狠的撞进去嗯啊h女强男视频 | 国产成人亚洲精品91专区手机 | 日本免费全黄一级裸片视频 |