Oracle报错#“ORA-01791: 不是 SELECTed 表达式”解决方法

今天遇到一个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_seq='1580'
  order by a.order_num

再查询一下就报错

“ORA-01791: 不是 SELECTed 表达式”

网上也有人遇到类型的,具体原因是,加distinct关键字的时候,排序的字段也要查出来,所以SQL要改成如下,将a.order_num字段也查出来

select distinct a.area_seq,
                 a.area_name,
                 a.order_num
   from t_unit_area a
  WHERE area_seq='1580'
  order by a.order_num

网上很多这种情况,解决方法也类似,不过都没给出具体原因,Oracle官方提供的distinct函数也是很清楚怎么写的,所以本博客之后记录当做经验记录,当然这不是最好的方法

原文地址:https://www.cnblogs.com/mzq123/p/10453567.html

时间: 2024-11-05 13:50:31

Oracle报错#“ORA-01791: 不是 SELECTed 表达式”解决方法的相关文章

报错:说改变了系统文件。解决方法

报错:说改变了系统文件.解决方法:1.在系统文件中,撤销操作:2.做clean:3.将SDK7.1同名文件内容复制粘贴过去:4.将其他电脑上的同名文件替换原文件:5.删除对xcode所有的修改文件,位置在资源库/developer/xcode/derivedData/下的所有文件都删除 报错:GEOErrorDomain error -3 提示错误也可运行的话,应该是derived data没清导致的.在Window -> Organizer -> Projects,找到你这个项目,然后点下右

python报错:SyntaxError: Non-ASCII character '\xe5'的解决方法

最近在学习机器学习,上面的代码都是一些python代码,对于python只是会一些基础性的东西,刚才就遇到了一个比较low的问题,但是还是记录一下吧. 在python代码中出现了中文,但是我又把# -*- coding: utf-8 -*-这句话放到了第三行,所以导致出现了,如下的错误: SyntaxError: Non-ASCII character '\xe5' 1. 解决方法也和简单就是把编码的那句话放在第一行: # -*- coding: utf-8 -*- #!/usr/bin/pyt

解压tar.gz文件报错gzip: stdin: not in gzip format解决方法

解压tar.gz文件报错gzip: stdin: not in gzip format解决方法 在解压tar.gz文件的时候报错 1 2 3 4 5 [[email protected] Downloads]$ tar -zxvf clion-141.351.4.tar.gz gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now 原来原因是这个

oracle 报TNS-12543:地址被占用 问题,解决方法(转载)

http://www.pitt.edu/~hoffman/oradoc/server.804/a58312/newch255.htm http://blog.itpub.net/3326/viewspace-607363 http://ywqboy.blog.sohu.com/116254573.html oracle 报TNS-12543:地址被占用 问题,解决方法(转载)

oauth2(spring security)报错method_not_allowed(Request method 'GET' not supported)解决方法

报错信息 <MethodNotAllowed> <error>method_not_allowed</error> <error_description>Request method 'GET' not supported</error_description> </MethodNotAllowed> 39是单引号 原因 默认只支持post 解决方法 下载安装postman工具(或其他post工具) 使用post调用 代码增加get的

elasticsearch报错expected &lt;block end&gt;, but found BlockMappingStart解决方法

我用的是elasticsearch2.4.0,在修改完配置文件就出现类似格式 expected <block end>, but found BlockMappingStart......的报错 经过网上搜索发现是格式问题,在配置文件中vim /etc/elasticsearch/elasticsearch.yml中. 每个配置行前需要有空格 每个':'两边需要有空格 数组中间加空格 还有注释掉的参数不能在#后边加空格不然报错

scp报错:not a regular file,解决方法:加参数 -r

命令:scp  -P1234  /data/aa   [email protected]:/data 文件结构:/data/aa/yearmonth=2015-09 报错:not a regular file 报错原因:这是一个文件夹,而不是文件,因此要加参数-r 正确命令:scp -r -P1234  /data/aa   [email protected]:/data

***XAMPP:报错 Unable to load dynamic library的解决方法

A PHP Error was encountered Severity: Core Warning Message: PHP Startup: Unable to load dynamic library '/opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_mysql.dll' - /opt/lampp/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_mysq

PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 的解决方法

我也是PHP新手,通过w3cschool了解了一下php基本原理之后就开写了.但仍是菜鸟. 先不管3DES加密的方法对不对,方法都是网上的,在运行的时候报了个错,把小弟整死了.找来找去终于自己摸出了方法. <?php /** * * PHP版3DES加解密类 * * 可与java的3DES(DESede)加密方式兼容 * * @Author: Luo Hui (farmer.luo at gmail.com) * * @version: V0.1 2008.12.04 * */ class Cr