首页 > 数据库 > Oracle > 正文

ORACLE查询中出现"Ora-01791 不是selected表达式"错误信息的解决办法

2024-08-29 13:31:44
字体:
来源:转载
供稿:网友
 偶写一个销售查询的功能模块,但在测试的时候按 条码/编码/库房 条件排序的时候都没有错误,只要按日期查的时候就会有“ora-01791 不是selected表达式”的错误信息,于是查看我的sql语句,语句如下:

select  distinct goodsid,barcode,depotid,goodsname from sa_sale where depotid='11' order by selldate

这句话执行的时候就有错误 ,但把排序换成 order by  goodsid 或其它 barcode,depotid,goodsname的时候均没有错误,到此可能大家都想到了,因为 selldate不在查询结果字段中,而且这个语句是distinct语句。所以会出现这个错误

下边给出正确的解决办法:

select  goodsid,barcode,depotid,goodsname from

(select  distinct  goodsid,barcode,depotid,goodsname,selldate  from sa_sale  where depotid='11' )

  order by selldate

问题解决,呵,拿来写在我的blog中,做个记录。也希望对大家有所帮助。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表