oracle查询语句老是报ORA-00907缺失右括号

问题描述

oracle查询语句老是报ORA-00907缺失右括号

--大家好,我有一条oracle查询语句老是报ORA-00907缺失右括号的错误,能不能帮我看一下,谢谢:
--统计毕业班等级考试最佳成绩
select distinct e.xy 学院,
e.xzb 班级,
e.xh 学号,
e.xm 姓名,
a.cet3 英语三级,
b.cet4 英语四级,
c.cet6 英语六级,
d.computer 计算机
from ((select xh, xm, djksmc, max(cj) cet3
from xsdjksb
where djksmc = '英语三级'
Group by xh, xm, djksmc) a,
(select xh, xm, djksmc, max(cj) cet4
from xsdjksb
where djksmc = '英语四级'
Group by xh, xm, djksmc) b,
(select xh, xm, djksmc, max(cj) cet6
from xsdjksb
where djksmc = '英语六级'
Group by xh, xm, djksmc) c,
(select xh, xm, djksmc, max(cj) computer
from xsdjksb
where djksmc like '计算机%'
Group by xh, xm, djksmc) d, xsjbxxb e)
where (a.xh = e.xh or b.xh = e.xh or c.xh = e.xh or d.xh = e.xh)
and ((e.DQSZJ = '2010' AND e.XZ = '5') OR
(e.DQSZJ = '2011' AND e.XZ = '4') OR
(e.DQSZJ = '2012' AND e.XZ = '3'))
AND e.SFZX = '是'
order by e.xy, e.xzb, e.xh, e.xm;

报错落在 djksmc) a,的a上

我确信我的语句所有的左右括号都是匹配的,没有缺失,一定是语句的语法出了问题,请大家帮我把把关,谢谢!

解决方案

多了个括号,from里的表不能用括号括起来

SELECT DISTINCT e.xy 学院,
e.xzb 班级,
e.xh 学号,
e.xm 姓名,
a.cet3 英语三级,
b.cet4 英语四级,
c.cet6 英语六级,
d.computer 计算机
FROM ( SELECT xh,
xm,
djksmc,
MAX (cj) cet3
FROM xsdjksb
WHERE djksmc = '英语三级'
GROUP BY xh, xm, djksmc) a,
( SELECT xh,
xm,
djksmc,
MAX (cj) cet4
FROM xsdjksb
WHERE djksmc = '英语四级'
GROUP BY xh, xm, djksmc) b,
( SELECT xh,
xm,
djksmc,
MAX (cj) cet6
FROM xsdjksb
WHERE djksmc = '英语六级'
GROUP BY xh, xm, djksmc) c,
( SELECT xh,
xm,
djksmc,
MAX (cj) computer
FROM xsdjksb
WHERE djksmc LIKE '计算机%'
GROUP BY xh, xm, djksmc) d,
xsjbxxb e
WHERE (a.xh = e.xh OR b.xh = e.xh OR c.xh = e.xh OR d.xh = e.xh)
AND ( (e.DQSZJ = '2010' AND e.XZ = '5')
OR (e.DQSZJ = '2011' AND e.XZ = '4')
OR (e.DQSZJ = '2012' AND e.XZ = '3'))
AND e.SFZX = '是'
ORDER BY e.xy,
e.xzb,
e.xh,
e.xm;

解决方案二:

问题解决,确实不报错了,只是执行效率超级低下,因为它要反复比对好几个表格的学号,有什么办法优化下吗?

时间: 2024-08-24 15:30:29

oracle查询语句老是报ORA-00907缺失右括号的相关文章

框架-跪求各位大牛指引,一直报:ORA-00907: 缺失右括号

问题描述 跪求各位大牛指引,一直报:ORA-00907: 缺失右括号 使用mybatis框架,sql语句为: SELECT () FROM BLQL_USER 1=1 and USERNAME LIKE '%${username}%' and JOBNUMBER LIKE '%${jobnumber}%' and ENABLE LIKE '%${enable}%' and PHONE LIKE '%${phone}%' ORDER BY CREATETIME 检查修改了好几次后台还是一直报: T

45 个非常有用的 Oracle 查询语句

​   这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询.这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧! 日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 "SYSDATE"来指定查询的日期. 1 SELECT TRUNC (SYSDATE, 'MONTH') "First day of current mo

oracle查询语句 一个加t 一个不加t 结果竟然不同 求大神解释

问题描述 oracle查询语句 一个加t 一个不加t 结果竟然不同 求大神解释 如题 oracle查询语句 一个加t 一个不加t 结果竟然不同 求大神解释 解决方案 我在虚拟机里进行的操作,屏幕显示的有显所以两行被选择,点击获取下一页就都出来了0.0~~~~~~~~233 解决方案二: 第二个图片里你查询后把那个一拉到底点下,数据就出来了 解决方案三: 哈哈自己的小失误 解决方案四: 是不是有其他人在操作呢? 所有的表均出现这种情况吗? 解决方案五: 童鞋!我看了半天也没发现哪不同.. 解决方案

SQL嵌套查询语句的报错问题

问题描述 SQL嵌套查询语句的报错问题 5C String sql = ""select * from msgInfo where ID in(select top 15 ID from msgInfo where chatRoom=? Order by chatTime DESC) order by chatTime""; String userName=session.getAttribute(""_USER"").toS

位图-android为啥这条语句老是报内存溢出错误?

问题描述 android为啥这条语句老是报内存溢出错误? Bitmap bm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); 就是这条语句,经常报java.lang.outofMemoryError错误?各位大牛谁知道,可以改一个其他的方法吗? 解决方案 是不是因为你的图片太大了,把它换为android自带的图标试试.或者直接使用Canvas.drawBitmap(

oracle10g-oracle mybatis报缺失右括号

问题描述 oracle mybatis报缺失右括号 5C delete RR_ASSET_ENTITY_EVENT where rr_id = ${rr_id} and action_type = '${action_type}' and create_date = to_date(to_char(${create_date}'yyyy/mm/dd hh24:mi:ss')'yyyy/mm/dd hh24:mi:ss') ${create_date}处报错 解决方案 新手求大神帮忙啊谢谢了! 解

jdbcTemplate.execute 执行 存储过程 的时候,总是报缺失右括号错误

问题描述 大家好,我用StringSqlstr="callP_SQL_TO_CSV('select*fromIN$_DATACHANGE@DBCENTERtwheret.p_namein('2010-11','2010-06')','CSV_DIR','r_dc_time_pwsc.csv')"jdbcTemplate.execute(Sqlstr);//这段话执行的时候总是提示说:java.sql.SQLException:ORA-00907:缺失右括号但是我把那些参数,放在PL/S

oracle查询语句大全

1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入. 4.select table_name,column_name from user_tab_columns

oracle查询语句大全(oracle 基本命令大全一)

来源:http://www.jb51.net/article/40467.htm 1.create user username identified by password;//建用户名和密码oracle ,oracle 2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username; 3.connect username/password//进入. 4.select tabl