作者: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(“=”);
}
}
}
方案三、子查询与上面类似,略。
推荐阅读
本文旨在纠正关于 MySQL 中 IN 语句是否使用索引的常见误解。许多人认为 IN 语句的索引使用与字符串长度有关,实际上,影响因素更为复杂,包括数据分布和 MySQL 版本等因素。 ...
[详细]
蜡笔小新 2024-12-22 12:34:36
本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ...
[详细]
蜡笔小新 2024-12-22 11:11:28
本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ...
[详细]
蜡笔小新 2024-12-21 14:25:43
本文介绍如何在MySQL中创建一个自定义函数,用于将包含多个班级编号的字符串拆分为对应的班级名称。通过详细解释代码逻辑和功能,帮助读者理解并应用这一技术。 ...
[详细]
蜡笔小新 2024-12-21 14:07:47
本文详细介绍了MySQL数据库中的Bin Log和Redo Log,阐述了它们在日志记录机制、应用场景以及数据恢复方面的区别。通过对比分析,帮助读者更好地理解这两种日志文件的作用和特性。 ...
[详细]
蜡笔小新 2024-12-21 13:50:51
ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ...
[详细]
蜡笔小新 2024-12-21 12:56:58
本文详细介绍了MySQL中常用的七种JOIN查询方法,包括内连接、左外连接、右外连接、全外连接以及排除连接等,并通过实例进行说明。 ...
[详细]
蜡笔小新 2024-12-21 12:53:17
探讨在开发、学习和实验过程中,使用 VMware 和 Docker 的优劣,帮助用户根据具体需求做出最佳选择。 ...
[详细]
蜡笔小新 2024-12-21 12:28:17
本文详细介绍了 phpMyAdmin 的安装与配置方法,适用于多个版本的 phpMyAdmin。通过本教程,您将掌握从下载到部署的完整流程,并了解如何根据不同的环境进行必要的配置调整。 ...
[详细]
蜡笔小新 2024-12-21 11:54:31
本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ...
[详细]
蜡笔小新 2024-12-21 10:18:56
本文深入探讨了 Oracle 数据库的网络配置,包括全局数据库名、实例名等关键参数的设置与作用,旨在为数据库管理员和开发人员提供全面的参考。 ...
[详细]
蜡笔小新 2024-12-21 09:29:49
本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ...
[详细]
蜡笔小新 2024-12-21 09:21:49
本文介绍了如何利用 MySQL 的原生函数 FIND_IN_SET 和 GROUP_CONCAT 实现树形结构数据的递归查询。通过创建自定义函数,可以轻松获取多层级的数据关系,并优化查询性能。 ...
[详细]
蜡笔小新 2024-12-20 20:23:04
本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ...
[详细]
蜡笔小新 2024-12-20 19:23:54
本文详细介绍了MySQL中用于日期格式转换的两个重要函数:STR_TO_DATE和DATE_FORMAT。通过具体示例,帮助读者更好地理解和应用这些函数。 ...
[详细]
蜡笔小新 2024-12-20 19:10:08