Oracle:ORA-01791: 不是 SELECTed 表达式】的更多相关文章

Oracle数据库,执行下面语句出现错误“ORA-01791: 不是 SELECTed 表达式”: select distinct t.name from auth_employee t order by t.auth_employee_id asc 原来:SELECT语句中含有DISTINCT关键字或者有运算符时,排序用字段必须与SELECT语句中的字段相对应. 网上搜到解释如下: 在ORDER BY中指定多个列,结果将先按照子句中的第一列排序,然后第二个,依此类推. 在SELECT中未出现的…
今天遇到一个Oracle报错,写篇博客记录一下 简单看一下下面这个sql,这也查询是没报错的 select a.area_seq, a.area_name from t_unit_area a WHERE area_seq='1580' order by a.order_num 然后加个distinct去重一下,不要经常使用distinct,因为性能不好 select distinct a.area_seq, a.area_name from t_unit_area a WHERE area_s…
 项目中写hql语句 出现 ORA-01791: 不是 SELECTed 表达式问题. 语句如下: select distinct(name) where student order by number  这样就会报错. 原因是: SELECT语句中含有DISTINCT关键字或者有运算符时,排序用字段必须与SELECT语句中的字段相对应.…
表结构如下: create table HH_BOOK_GOOD ( ID VARCHAR2(32) not null, BOOKID VARCHAR2(32) not null, GOODID VARCHAR2(32) not null, GOODPRICE FLOAT not null, GOODNAME VARCHAR2(256) not null, GOODNOTE VARCHAR2(1024) not null ) 使用下面语句进行查询 select distinct ID,BOOKI…
注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程:无法转换会话ORA-00022: 无效的会话 ID:访问被拒绝ORA-00023: 会话引用进…
ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常. ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程:无法转换会话 ORA-00022: 无效的会话 ID:访问被拒绝 ORA-00023: 会话引用进程私用内存:无法分离会话 ORA-00024: 单一进程模式下不允许从多个…
Oracle 9i数据库,执行下面语句出现错误“ORA-01791: 不是 SELECTed 表达式”:select distinct t.name from auth_employee t order by t.auth_employee_id asc 原来:SELECT语句中含有DISTINCT关键字或者有运算符时,排序用字段必须与SELECT语句中的字段相对应. 网上搜到解释如下:在ORDER BY中指定多个列,结果将先按照子句中的第一列排序,然后第二个,依此类推. 在SELECT中未出现…
在操作SQL中存在In的数量如果超过1000条会提示   ORA-01795: 列表中的最大表达式数为 1000 归纳有几种方式出现的: 第一种是:我在上一个 [jdbc 同时执行 查询和删除操]作中提到 在一个事务中在了in操作超出了 1000条,修改代码如下: Connection conn = null;        try {            // 创建连接实例            conn = JdbcUtility.GetFactory().CreateConn();   …
运算符和表达式     关系运算 =等于<>,!=不等于<小于>大于<=小于等于>=大于等于       一般运算   +加-减*乘/除:=赋值号=>关系号..范围||字符连接     赋值号的用法为varible :=value; 数据库赋值可以通过select来完成,其中赋给的变量要先定义V_name varchar2(20);select name into V_name from table;     范围的用法1..8表示1到8         逻辑运算…
今天在工作中碰到一个问题,用group by 语句进行分组时出现ORA-00979错误. 代码如下: select R.ORDER_NO, R.PRODUCT_CODE, R.REGION_NO, R.ORGAN_NEW_NO, R.ORGAN_NAME, R.ERROR_TYPE, R.SALE_DISCOUNT, R.SALE_NUM, R.REMARK, DECODE(R.ERROR_TYPE, ', '数量异常', ', '折扣异常', ', '提前销售') ERROR_TYPE_DES…