运行环境: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.)

转载自:http://blog.csdn.net/wxdsdtc831/article/details/7432774

ORACLE 查询字表未明确定义列相关推荐

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

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

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

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

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

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

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

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

  5. 数据库查询 报错 *****ORA-00918: 未明确定义列

    数据库查询 报错 *****ORA-00918: 未明确定义列:显然数据库不知道你写的列是指谁的列.一般单表查询不会出现这种错误,在多表联合查询的时候,在where 设定查询条件的地方,列名1=参数1 ...

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

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

  7. oracle未明确定义列

    分类: SQL 使用技巧 2012-04-06 16:12 1332人阅读 评论(0) 收藏 举报 运行环境:Oracle10g sqlplus环境下.  在查询语句中,经常会出现一个错误:  SQL ...

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

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

  9. SQL未明确定义列错误

    当数据库根据字段名无法确定具体哪一列时,就会报未明确定义列的错误. 如表中有相同的字段,然后要查询此表的重复的某一字段就会报未明确定义列的错误. 有时候,一个sql语句没错,但根据sql语句执行的为字 ...

最新文章

  1. 延迟环境变量扩展(bat)
  2. Xamarin.Android编译CPU类型选择方式
  3. 最优化课堂笔记06-无约束多维非线性规划方法(含重点)
  4. 为啥linux分区是nvme0n1,NAS 篇五:尝试达成最终目标: 黑裙+万兆网卡+Nvme 存储空间的实现与测试...
  5. jQuery 往table添加新内容有以下四个方法:
  6. c语言全局变量默认值
  7. sql server 更新语句
  8. 推理集 —— 举一反三
  9. python基础 函数
  10. yum在linux安装mysql数据库_linux安装mysql(yum安装,比较简单)
  11. quartus波形仿真破解MODELSIM
  12. window 10及window7电脑前面耳机插孔没有声音,后面有声音
  13. 表情识别相关论文摘要
  14. ffmpeg 自定义IO与Seek
  15. 华硕灵耀pro16参数 华硕灵耀pro16怎么样
  16. 三天打鱼,两天晒网问题
  17. 1367:查找二叉树(tree_a)
  18. 解决win7-win8 chcp命令无法使用
  19. 文件下载重命名(跨域)
  20. 学校的校园景点平面图(校园景点迷你地图C++数据结构)

热门文章

  1. 餐厅的人效该怎么计算?
  2. win10 ideal Go 运行和编译
  3. oracle表空间的使用率,Oracle 查看表空间使用率
  4. python画一朵花图片_Python 画一朵花
  5. 【JAVA秒会技术之玩转SQL】MySQL优化技术(一)
  6. 松套光缆和紧包光缆有什么区别?
  7. 抖音超火的小空调源码
  8. Android 热补丁动态修复总结 eclipse版
  9. Linux学习笔记六:SSH 软件安装失败了:Server responded Protocol error packet too long 1349676920
  10. 手机终端软件——juicessh和AndFTP详细使用说明