问题描述
selectcl.classesName,s.studentsNumber,s.studentsName,sc.scoresNo,an.answersscore,cd.countfromClassescl,Studentss,Usersu,Academicyearsa,Coursesc,Scoressc,Scorecatygorysscc,Answersan,(selectcount(attendancesid)ascountfromStudentss,Attendancesa,Usersuwheres.studentsUserId=u.usersIdanda.students.studentsId=s.studentsIdandu.usersId=2anda.attendancesqk='迟到')cdwheres.classes.classesId=cl.classesIdandcl.courses.coursesid=c.coursesidandc.academicyears.academicyearsId=a.academicyearsIdanda.users.usersId=2ands.studentsUserId=u.usersIdandsc.students.studentsId=s.studentsIdandsc.scorecatygorys.scoreCategorysId=scc.scoreCategorysIdandscc.scoreCategoryName='期末成绩'andan.students.studentsId=s.studentsId提示org.hibernate.hql.ast.QuerySyntaxException:unexpectedtoken:是不是(selectcount(attendancesid)ascountfromStudentss,Attendancesa,Usersuwheres.studentsUserId=u.usersIdanda.students.studentsId=s.studentsIdandu.usersId=2anda.attendancesqk='迟到')cd子查询有问题?
解决方案
解决方案二:
你还是换SQL吧HQL对复杂的查询支持很差
解决方案三:
这么长的hql语句的..看得头都晕.....
解决方案四:
晕,关系这么多,还是别用hql了!
解决方案五:
用sql吧看的头蒙了
解决方案六:
涉及到复杂的子查询还是用SQL吧因为HQL的SELECT不支持子查询。只有WHERE支持
解决方案七:
引用1楼zn85600301的回复:
你还是换SQL吧HQL对复杂的查询支持很差
这么复杂还是sql自己调吧
解决方案八:
这么复杂的HQL没用过
解决方案九:
分段调试吧.先去掉几个复杂的关联表还有查询子句是否能执行查查问题具体出现在那个位置.
解决方案十:
这样的关系是不会这么写的。。。要不本地sql,要不连接查询
解决方案十一:
hql语句我基本是简单的操作,用sql操作复杂的比较合适像这样的多表连接建议用join...on...操作来完成
解决方案十二:
看的头晕
解决方案十三:
该回复于2011-03-07 13:18:36被版主删除