ORA-01791 错误是 Oracle 数据库中的一个常见错误,具体含义为:“不是 SELECTed 表达式”(not a SELECTed expression)。这个错误通常发生在使用 DISTINCT 关键字或者包含复杂表达式(如函数、子查询等)的 SELECT 语句中,当 ORDER BY 子句尝试使用一个不在 SELECT 列表中的列名或别名时。 可能导致 ORA-01791 错误出现...
ORA-01791: 不是 SELECTed 表达式 Oracle 9i数据库,执行下面语句出现错误“ORA-01791: 不是 SELECTed 表达式”:select distinct t.name from auth_employee t order by t.auth_employee_id asc 原来:SELECT语句中含有DISTINCT关键字或者有运算符时,排序用字段必须与SELECT语句中的字段相对应。 网上搜到解释如下:在...
select distinct ID,BOOKID,GOODPRICE from HH_BOOK_GOOD order by GOODID; 报ORA-01791:不是SELECTed表达式 原因是order by后面的GOODID字段不在select查询结果字段之中,因为使用了distinct关键字。 解决方法 1、将此字段加入到select之后 select distinct ID,BOOKID,GOODPRICE,GOODID from hh_book_good order by...
但如果SELECT子句中出现了DISTINCT关键字,则只能用出现过的列名, 而且如果SELECT子句中使用了任何运算符,在ORDER BY 子句中必须保持和SELECT子句中表达式完全一致,否则出现错误:“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语句中的字段相对应。
偶写一个销售查询的功能模块,但在测试的时候按 条码/编码/库房 条件排序的时候都没有错误,只要按日期查的时候就会有“Ora-01791 不是Selected表达式”的错误信息,于是查看我的SQL语句,语句如下: select distinct GoodsId,Barcode,DepotId,GoodsName from sa_sale where depotid='11' order by selldate ...
在做一个查询时,出现”Ora-01791 不是Selected表达式“,记录下来以作记念 select distinct button.BT_CODE, button.MI_CODE, button.BT_STRUCTURECODE, button.BT_NAME, button.BT_VALUE, button.BT_LABELCODE, button.BT_TYPE, button.BT_CLASS,
8. 9. 使用下面语句进行查询 selectdistinctID,BOOKID,GOODPRICEfromHH_BOOK_GOODorderbyGOODID; 1. 报ORA-01791:不是SELECTed表达式 原因是order by后面的GOODID字段不在select查询结果字段之中,因为使用了distinct关键字。 解决方法 1、将此字段加入到select之后 ...
“ORA-01791: 不是 SELECTed 表达式” 网上也有人遇到类型的,具体原因是,加distinct关键字的时候,排序的字段也要查出来,所以SQL要改成如下,将a.order_num字段也查出来 selectdistinct a.area_seq,a.area_name,a.order_numfromt_unit_area aWHEREarea_seq='1580'order by a.order_num ...
ORA 01791错误提示的是“ORA-01791: 不是 SELECTed 表达式”: 原因:sql中了用了DISTINCT关键字去重,但是order by后面跟的字段并没有出现在查询的列中,什么意思?看例子 例子: 错误:SELECT DISTINCT a.name,a.code from a inner join b on a.pk=b.pk ORDER BYa.date ...