ORACLE 查询字表未明确定义列「建议收藏」

ORACLE 查询字表未明确定义列「建议收藏」运行环境:Oracle10gsqlplus环境下。 在查询语句中,经常会出现一个错误: SQL基础:ORA-00918:未明确定义列的错误。 当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段 时,就会报未明确定义列的错误。 第一种情况: 1.单表时: 比如fconsign表中存在三个字段:fcsg_c

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
运行环境: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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188937.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 笛卡尔积的解释和作用[通俗易懂]

    笛卡尔积的解释和作用[通俗易懂]一:笛卡尔积的解释例给出二个域:假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。[编辑本段]笛卡尔积的运算性质  由于有序对<x,y>中x,y的位置是确定的,因此A×B…

    2022年7月11日
    22
  • 面试题:八皇后问题(N皇后问题)「建议收藏」

    面试题:八皇后问题(N皇后问题)

    2022年3月5日
    41
  • linux中find命令基本使用方法_find命令用法及参数

    linux中find命令基本使用方法_find命令用法及参数Linux系统find命令用法Linux查找命令find是Linux系统中最重要和最常用的命令之一,用于查找与指定参数条件匹配的文件及目录列表。find查找命令可以在各种条件下使用,我们可以通过权限,用户,组,文件类型,修改日期,大小等多种条件来查找文件。这里我会以实例的形式向大家说明find命令的具体用法。find命令的格式很简单,一般分成三个部分:1)find命令;2)搜索路径(目录可以写多个);3)表达式。对于find命令,最需要学习的是表达式这一段。表达式决定了我们要找的文件是什么属性的文件

    2022年8月31日
    3
  • 虚拟现实开发一些建议怎么写_虚拟现实开发引擎

    虚拟现实开发一些建议怎么写_虚拟现实开发引擎本文章由cartzhang编写,转载请注明出处。所有权利保留。文章链接:作者:cartzhang【本文为原作者对虚拟现实开发的一些建议和理解,写的非常不错。理解的也非常透彻,希望对各位在路上的VR开发者有积极作用。】下面是我对虚拟现实开发一下建议。我已经把他们分为Vive相关,常规VR和更宽泛意义上的建议。更多建议请关注我的Twitter。一、Vive相关1.让玩家按下按键

    2022年9月13日
    0
  • ie浏览器最大化快捷键(电脑退出最大化快捷键)

    最小化的快捷键 WIN+M 按“Windows键+M”键可以最小化所有被打开的窗口,相当于“显示桌面”功能。·窗口最大化快捷键 Shift+WIND+MWindows键+CTRL+M功能是:重新将恢复上一项操作前窗口的大小和位置·在最大化和最小化之间切换的快捷键:WIN+D· 最大化ALT+空格+X  最小化ALT+空格+N其它有关WINDOWS键的快捷

    2022年4月12日
    686
  • 一. WireShark 抓包及常用协议分析「建议收藏」

    一. WireShark 抓包及常用协议分析「建议收藏」WireShark抓包及常用协议分析简介WireShark简介和抓包原理及过程实战:WireShark抓包及快速定位数据包技巧实战:使用WireShark对常用协议抓包并分析原理实战:WireShark抓包解决服务器被黑上不了网总结:简介1.1WireShark简介和抓包原理及过程1.2实战:WireShark抓包及快速定位数据包技巧1.3实战:使用WireSha…

    2022年9月4日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号