作者:Reaki是睿睿 | 来源:互联网 | 2014-06-09 00:50
MySQL中对查询的结果集取交集如何实现需求:通过入学批次、层次、课程名称、专业和统考科目为教学课程与统考科目设定对应关系,可通过选多个专业对教学课程与统考课程进行对应。www.2cto.com问题:级联---...SyntaxHighlighter.all();
MySQL中对查询的结果集取交集如何实现
需求:通过入学批次、层次、课程名称、专业和统考科目 为教学课程与统考科目设定对应关系,可通过选多个专业对教学课程与统考课程进行对应。
www.2cto.com
问题:级联---入学批次影响层次,入学批次与层次影响专业、入学批次层次与专业影响课程名称。当选了多个专业时,课程名称下拉框如何显示多个专业共有的课程(如果不能保证课程共有,可能会添加一些专业没有的课程对应关系)呢。
解决方案:
为了从略,这里只写出入学批次层次与专业影响课程名称的级联,也就是通过入学批次层次与专业来查询课程名称,传值都用ID,查询参数设置省略了。
方案一、临时表:
String queryBasic= “select model from ” ;
StringBuilder queryString=new StringBuilder();
queryString.append(queryBasic);
For(int i=0;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
queryString.append(“,”);
}
}
If(specialIds.length>1){
queryString.append(“ where a”);
queryString.append(1+ “”);
queryString.append(“. specialId”
if(i
queryString.append(“=”);
}
}
方案二、交集join
String queryBasic= “select model from ”;
StringBuilder queryString=new StringBuilder();
queryString.append(queryBasic);
For(int i=0;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
queryString.append(“cross”);
}
}
If(specialIds.length>1){
For(int i=0;i
queryString.append(“a”+i);
queryString.append(“.specialId”);
if(i
queryString.append(“=”);
}
}
}
方案三、子查询与上面类似,略。
推荐阅读
本文介绍了如何通过安装 sqlacodegen 和 pymysql 来根据现有的 MySQL 数据库自动生成 ORM 的模型文件(model.py)。此方法适用于需要快速搭建项目模型层的情况。 ...
[详细]
蜡笔小新 2024-11-22 01:13:04
本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ...
[详细]
蜡笔小新 2024-11-22 00:07:45
本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ...
[详细]
蜡笔小新 2024-11-21 09:45:56
本文详细介绍了PostgreSQL与MySQL在SQL语法上的主要区别,包括如何使用COALESCE替代IFNULL、金额格式化的方法、别名处理以及日期处理等关键点。 ...
[详细]
蜡笔小新 2024-11-21 07:40:22
本文详细介绍了在尝试启动MySQL服务时,如果遇到错误提示‘MySQL未运行,但锁定文件(/var/lock/subsys/mysql)存在’应如何处理,包括具体的操作步骤和可能的原因分析。 ...
[详细]
蜡笔小新 2024-11-20 20:19:58
LNMP流程图nginxPHPMysqlNginxFastcgi_pass<-FastCGI->fastcgi-(php-fpm)<->wrapperPhp ...
[详细]
蜡笔小新 2024-11-20 18:21:42
本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ...
[详细]
蜡笔小新 2024-11-20 18:10:53
本文介绍如何使用JavaScript中的for循环来创建一个九九乘法表,适合初学者学习循环结构的应用。 ...
[详细]
蜡笔小新 2024-11-20 16:16:22
本文探讨了在Windows系统中运行Apache服务器时频繁出现崩溃的问题,并提供了多种可能的解决方案和建议。错误日志显示多个子进程因达到最大请求限制而退出。 ...
[详细]
蜡笔小新 2024-11-20 13:07:27
湖上湖返回与带有给定字符串名的类或接口相关联的Class对象。调用此方法等效于:Class.forName(className,true,currentLoader) ...
[详细]
蜡笔小新 2024-11-20 12:55:32
MySQLoptionallylogsslowqueriesintotheSlowQueryLog–orjustSlowLog,asfriendscallit.However,Thereareseveralreasonstologallqueries.Thislistisnotexhaustive:Belowyoucanfindthevariablestochange,astheyshouldbewritteninth ...
[详细]
蜡笔小新 2024-11-20 12:50:01
flea,frame,db,使用,之 ...
[详细]
蜡笔小新 2024-11-20 12:00:16
本文详细介绍了如何在MySQL中创建自定义函数来计算地球表面上两点之间的距离。通过经纬度数据,利用球面三角公式,可以准确计算出两地之间的直线距离。 ...
[详细]
蜡笔小新 2024-11-20 11:33:45
本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ...
[详细]
蜡笔小新 2024-11-20 10:58:03
本文探讨了在MySQL数据库中处理大规模数据删除的最佳实践,包括分批删除、利用索引、管理事务以及选择合适的删除命令等策略,旨在提升删除效率并确保系统稳定。 ...
[详细]
蜡笔小新 2024-11-20 10:28:20