数据库|mysql教程
教学,课程,如何,统考,专业
数据库-mysql教程
网页电影源码,vscode用户设置在,ubuntu是类,tomcat培训口号,sqlite3 查询函数,前端有什么框架可以展示脑图,爬虫抓取一个数据,php 加密 方法,惠州seo企业优化,用java做网站,网页特效分享,网站模板编辑软件lzw
MySQL中对查询的结果集取交集如何实现
将源码,vscode和vim对比,ubuntu xz解压,tomcat启动权限错了,YYDS爬虫,php ascii 排序,安阳seo网络推广服务,vivi网站小偷5.5破解,人人商城 外卖模板lzw
需求:通过入学批次、层次、课程名称、专业和统考科目 为教学课程与统考科目设定对应关系,可通过选多个专业对教学课程与统考课程进行对应。
易语言qq飞车加速源码,vscode导入库,ubuntu iasp,tomcat 项目 别名,sqlite分页显示数据,jquery 内容过滤插件,前端三大框架学那个,Python爬虫爬什么数据简单,next php,甘肃seo优化词,咨询网站 模板,百度日历网页版,电影 ppt模板lzw
问题:级联—入学批次影响层次,入学批次与层次影响专业、入学批次层次与专业影响课程名称。当选了多个专业时,课程名称下拉框如何显示多个专业共有的课程(如果不能保证课程共有,可能会添加一些专业没有的课程对应关系)呢。
解决方案:
为了从略,这里只写出入学批次层次与专业影响课程名称的级联,也就是通过入学批次层次与专业来查询课程名称,传值都用ID,查询参数设置省略了。
方案A、临时表:
String queryBasic= “select model from ” ;
StringBuilder queryString=new StringBuilder();
queryString.append(queryBasic);
For(int i=0;i<specialIds.length();i++){
queryString.append(“(select model from TeachingPlan_CourseDetail model where model.grade=:grade and model.educationLevel and model.specialId=:specialId) a”);
queryString.append(i+ “”);
if(i<specialId.length()-1){
queryString.append(“,”);
}
}
If(specialIds.length>1){
queryString.append(“ where a”);
queryString.append(1+ “”);
queryString.append(“. specialId”
if(i<specialId.length()-1){
queryString.append(“=”);
}
}
方案B、交集join
String queryBasic= “select model from ”;
StringBuilder queryString=new StringBuilder();
queryString.append(queryBasic);
For(int i=0;i<specialIds.length();i++){
queryString.append(“(select model from TeachingPlan_CourseDetail model where model.grade=:grade and model.educationLevel and model.specialId=:specialId) as a ”);
queryString.append(i+ “”);
if(i<specialId.length()-1){
queryString.append(“cross”);
}
}
If(specialIds.length>1){
For(int i=0;i<specialIds.length();i++){
queryString.append(“a”+i);
queryString.append(“.specialId”);
if(i<specialId.length()-1){
queryString.append(“=”);
}
}
}
方案C、子查询与上面类似,略。