表结构如下:
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,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 GOODID;
2、如果觉得GOODID字段是多余的,实在是不想将它查询出来,可修改为如下:
select ID,BOOKID,GOODPRICE
from(select distinct ID,BOOKID,GOODPRICE,GOODID from HH_BOOK_GOOD)
order by GOODID;
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/database/4138.html