分类: SQL 使用技巧 2012-04-06 16:12 1332人阅读 评论(0) 收藏 举报

运行环境:Oracle10g sqlplus环境下。 
在查询语句中,经常会出现一个错误: 
SQL基础:ORA-00918:未明确定义列的错误。

当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段 
时,就会报未明确定义列的错误。

第一种情况: 
1.单表时: 
比如fconsign表中存在三个字段:fcsg_consign_id,fcsg_consign_type,fcsg_consign_status 
SELECT FCSG_CONSIGN_ID FROM (SELECT FCSG_CONSIGN_ID,FCSG_CONSIGN_TYPE,FC.* FROM FCONSIGN FC) T
这个SQL语句就会报错,因为在T中FCSG_CONSIGN_ID有两个字段,导致DBMS无法确定要查询的哪个列 
SELECT FCSG_CONSIGN_STATUS FROM (SELECT FCSG_CONSIGN_ID,FCSG_CONSIGN_TYPE,FC.* FROM FCONSIGN FC) T 
这样就不会报错了,T中FCSG_CONSIGN_STATUS只有一个,这样就不会报错了。

总而言之:在嵌套查询中,外查询的字段在子查询中只能出现一个,否则则无法确定是要查哪个字段。就会报 未明确定义列的错误。

2.多表联合查询 
比如表A,B中都有a字段。 
select a from A,B 这样就要报错。因为也是无法确定查

哪一列。需要明确定义A.a活着B.a (如果在from语句后面为表取了别名,比如 select s_no,s_name,s_score,s.class_no,class_name from student s join class c on (s.class_no = c.class_no)的时候, 则 select语句中那个被多张表都拥有的相同字段名也需要用别名标识 如:s.class_no.)

oracle未明确定义列相关推荐

  1. Oracle数据库表连接查询并分页SQL语句提示未明确定义列

    Oracle数据库表连接查询并分页SQL语句提示未明确定义列 两张表中的字段: t_product t_category product_id category_id product_name cat ...

  2. oracle数据库同时实现联表查询和分页查询(未明确定义列)

    ps:只是记录新手小白的脱坑之路,大佬勿喷 今天在做前端数据查询的时候,在实现联表查询的同时进行分页查询遇到了令人头秃的问题,分页查询的sql语句是这样的 select * from (select ...

  3. Oracle查询提示:未明确定义列

    在调试Oracle一个查询语句时出现:未明确定义列 在这种情况下有可能存在的问题不是字段重命名的问题,而是在查询的列中有重复的列.例如: select A.*,rownum mynum from ( ...

  4. oracle报错00918,华丹学堂-Oracle报错ORA-00918: 未明确定义列原因

    报表在线开发时,数据源形如:SELECT A.CLASSID,B.CLASSID FROM CLASSINFO A,STUDENT B WHERE A.CLASSID=B.CLASSID. 这个语句在 ...

  5. oracle 918,Oracle00-918:未明确定义列的错误

    未明确定义列错误 原因:在查询语句中同一列被查询了两次,在通过结果集得值的时候,不知道得哪一个结果,导致该错误 情况一:例如:select tb_name,tb_id,tb_name from tab ...

  6. oracle分页报未明确定义列,关于在join中出现ORA-00918: 未明确定义列的解决办法

    /*关于在join中出现ORA-00918: 未明确定义列的解决办法*/ /*关于join和where表连接问题,需要在使用join时需要使用列的别名,避免相同列名的出现.*/ --以下为简要测试过程 ...

  7. ORACLE 查询字表未明确定义列

    运行环境:Oracle10g sqlplus环境下.  在查询语句中,经常会出现一个错误:  SQL基础:ORA-00918:未明确定义列的错误. 当前遇到有两种情况.原因为:当查询语句中,查询的表( ...

  8. MyBatis 调用分页sql提示 未明确定义列

    数据库用的是Oracle,Mybatis自动封装的分页,sql语句在PLSQL中执行没有问题,放在代码里面运行的时候就报错:未明确定义列. 通过log打印的sql语句拷出来执行,发现嵌套上分页就会报错 ...

  9. ORA-00918:未明确定义列解决

    ORA-00918:未明确定义列解决 问题:ORA-00918:未明确定义列 eg. select  name,  name  from a  left  join b  on a.flag = b. ...

最新文章

  1. Android Contextual Menus之二:contextual action mode
  2. Bzoj4818--Sdoi2017序列计数
  3. 组件面板 html 页面,Html - Bootstrap Panel面板
  4. 字典树(Trie树)
  5. 条件变量 ---C++17 多线程
  6. eclipse在ubuntu13.04下崩溃crash
  7. vue-router中hash模式、history模式原理
  8. 大数据之-Hadoop环境搭建_安装hadoop---大数据之hadoop工作笔记0018
  9. Leetcode每日一题:463.island-perimeter(岛屿的周长)
  10. 试着当个“刺头”,不要被客户“牵着”鼻子走
  11. JQuery jsonp使用小记
  12. SQLSERVER备份事务日志的作用
  13. 协议rs485协议,串口通讯(转发)
  14. python3中文长度_python3获得汉字长度
  15. 解决Go服务GC时间过长
  16. 我经历的IT公司面试及离职感受
  17. Qt常用的模板函数说明
  18. Android 手机直播聚合
  19. 高效而稳定的企业级.NET Office 组件Spire(.NET组件介绍之二)
  20. Matlab中如何将长字符串换行写

热门文章

  1. XDRender_ObjPass_ShaderMode_Cloth(0) 面料渲染
  2. 苹果手机左上角的数字怎么弄_手机里的计算器还有这么多有用的功能,很多人没发现...
  3. JDK8升级JDK9 HTT2 TLS问题解决之路(艰辛)
  4. Linux Ubuntu18.04显卡驱动更新后无法上网问题解决
  5. Android刘海屏、水滴屏全面屏适配方案,2021年Android社招面试题
  6. python模拟手机登录_Python(Tornado)模拟登录小米抢手机
  7. 2021性价比高的蓝牙耳机,六款高性价比蓝牙耳机点评
  8. Java_集合_map
  9. linux 7查看开放端口号,CentOS7查看开放端口命令及开放端口号
  10. 都开始谈内容生态后,信息流如何做出差异化?