用代码执行和在查询器中执行返回的结果不一样????

问题描述

publicListfindobjectList(Stringsql){//Sessions=this.getHibernateTemplate().getSessionFactory().openSession();Sessions=this.getSession();Listlist=s.createSQLQuery(sql).list();releaseSession(s);returnlist;}selectdistinctcl.classesName,s.studentsNumber,s.studentsName,aa.scoresNo,an.answersscore,cd.count,kk.countfromusersurightjoinstudentssons.studentsUserId=u.usersIdrightjoinclassesclons.classesId=cl.classesIdleftjoincoursesconcl.coursesid=c.coursesidleftjoinacademicyearsaonc.academicyearsId=a.academicyearsIdleftjoin(selectsc.scoresNo,s.studentsIdstudentsIdfromstudentss,scoressc,scoreCatygoryssccwheresc.studentsId=s.studentsIdandsc.scoreCategorysId=scc.scoreCategorysIdandscc.scoreCategoryName='期末成绩')aaons.studentsId=aa.studentsIdleftjoin(selectcount(*)count,s.studentsIdstudentsIdfromattendancesa,studentss,usersuwherea.studentsId=s.studentsIdands.studentsUserId=u.usersIdanda.attendancesqk='旷课')kkons.studentsId=kk.studentsIdleftjoinanswersanonan.studentsId=s.studentsIdleftjoin(selectcount(*)count,s.studentsIdstudentsIdfromattendancesa,studentss,usersuwherea.studentsId=s.studentsIdands.studentsUserId=u.usersIdanda.attendancesqk='迟到')cdons.studentsId=cd.studentsIdwherea.usersId=2这是sql语句!不知道是不是sql出问题了,还是哪里出问题了

解决方案

解决方案二:
什么数据库什么环境那不一样啊。。。好长的sql
解决方案三:
真的很长很长啊。
解决方案四:
sql拼接的好多啊,有些都是重复的,对于那些相同的都可以提出来吗,用with不好吗
解决方案五:
让人痛苦的sql......
解决方案六:
好好检查下先去掉所有连接查询一个连接一个连接加上看到底哪里出了问题
解决方案七:
恩同意5楼一个一个的加,排查另,这样的SQL很不合理,竟然用到3个子查询,建议优化一下

时间: 2024-10-21 20:45:24

用代码执行和在查询器中执行返回的结果不一样????的相关文章

android-在音乐播放器中怎么返回你点击的列表

问题描述 在音乐播放器中怎么返回你点击的列表 做了一个音乐播放器点击一首歌进入歌曲界面,返回的时候怎么返回你之前点击的列表. 解决方案 如果你是要返回点击之前的列表,只需要将当前这个列表finish掉就行.如果是要返回到上个列表点击时的位置,你需要记住listview点击的position,返回时setSelection(),就可以了

查询mysql中执行效率低的sql语句的方法_Mysql

一些小技巧1. 如何查出效率低的语句?在MySQL下,在启动参数中设置 --log-slow-queries=[文件名],就可以在指定的日志文件中记录执行时间超过long_query_time(缺省为10秒)的SQL语句.你也可以在启动配置文件中修改long query的时间,如: 复制代码 代码如下:  # Set long query time to 8 seconds    long_query_time=8 2. 如何查询某表的索引?可使用SHOW INDEX语句,如: 复制代码 代码如

JAVA无法执行SQL语句,在Postgresql中执行正常?不知道什么原因

问题描述 SQL语句如下:java中执行语句如下:sql="selectname,num,asText(geom)asgeom,addressfromhzpbwherehzpb.c_idin(selectc_idfromcitywherec_namelike'%江%')"rs=stmt.executeQuery(sql);在java中就是无值输出 解决方案 解决方案二:该回复于2009-04-13 13:08:35被版主删除解决方案三:子查询里没有值吧

求救!带参数的存储过程,在sqldatasource的查询分析器中执行正常,但用querystring网页传递时不正常。

问题描述 参数是在地址栏传的,命令按钮内容如下:DimstrURLAsStringstrURL="<scriptlanguage='javascript'>window.open('Default2.aspx?Begin_Date="&TextBox3.Text&""&Mid(DropDownList5.Text,1,2)&":00:00&City_name="&DropDownList

代码-linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下

问题描述 linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下 with temp as ( select (case when SHIFTSCHEDULEID is null then (case when TICKET_SELL_TYPE=2 then (select COMPANY_ID from TBL_YD_SHIFT where SHIFTNUMBER= (select SHIFTNUMBER from TBL_SP_TICKET where tick

游览器中javascript的执行过程(图文)_javascript技巧

1. 大多数游览器的组件构成如图      在最底层的三个组件分别是网络,UI后端和js解释器.作用如下: (1)网络- 用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作 (2)UI 后端- 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口 (3)JS解释器- 用来解释执行JS代码 ps:上图和知识点主要来自<HOW BROWSERS WORK: BEHIND THE SCENES OF MODERN WEB BR

查询Oracle中正在执行和执行过的SQL语句_oracle

查询Oracle正在执行的sql语句及执行该语句的用户 SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, paddr, sql_text 正在执行的SQL, b.machine 计算机名 FROM v$process a, v$session b, v$sqlarea c WHERE a.addr = b.paddr AND b.sql_hash_value = c.hash_value 其它网友给出的正

Android中执行java命令的方法及java代码执行并解析shell命令_Android

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建

Android中执行java命令的方法及java代码执行并解析shell命令

android中执行java命令的方法大家都晓得吗,下面一段内容给大家带来了具体解析. android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了呢. 答案是否定的.我们可以通过app_process来执行java程序. 写一个hello world吧,就是刚开始学java的时候 写得那个hello world,这次要在android上运行. 用记事本新建