未明确定义列什么原因_将多表数据汇总到一个表

未明确定义列什么原因_将多表数据汇总到一个表运行环境: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.)

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

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

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


相关推荐

  • python实现火车票查询「建议收藏」

    python实现火车票查询「建议收藏」1.知识点: Python基础知识的综合运用 docopt,requests,colorama,prettytable库的使用2requests:使用Python访问HTTP资源的必备库            prettytable:可以将打印内容格式化为像MySQL一样的输出      docopt:命令行参数解析工具               …

    2022年5月24日
    28
  • MacOS抓包工具Charles「建议收藏」

    MacOS抓包工具Charles「建议收藏」抓包工具有wireshark,tcpdump,还有就是Charles。今天分享的是最后一个Charles。抓包分2个,一个是移动端的,一个是macOS自带的应用。安装Charleshttps://www.charlesproxy.com/latest-release/download.do这里有官方最新的包,不过启动后有提示。也有符合社会主义特殊的软件#替换包里面的…

    2022年6月8日
    65
  • 关于linux文件系统软连接_centos7删除目录命令

    关于linux文件系统软连接_centos7删除目录命令前言经常使用centos系统的同学都知道,在全局安装命令指令时,即使是执行了npminstall-g但是安装之后的命令仍然说找不到那么我们改如何操作呢?软连接简介centos下的ln命令就相当于window下的建立快捷方式,链接文件甚至可以链接不存在的文件,这就产生一般称之为”断链”的现象,链接文件甚至可以循环链接自己。类似于编程语言中的递归。软链接文件只是其源文件的一个标记,当删除了源…

    2022年9月1日
    5
  • linux(9)find命令详解[通俗易懂]

    linux(9)find命令详解[通俗易懂]find命令格式:findpath-option[-print][-exec-okcommand]{}\;find命令的参数:path:要查找的目录路径。~表示$HO

    2022年7月31日
    7
  • C语言中各种类型所占字节_C语言简单数据类型

    C语言中各种类型所占字节_C语言简单数据类型首先必须知道u8,s8等数据类型的定义:typedefsignedchars8;typedefunsignedcharu8;typedefsignedshorts16;typedefunsignedshortu16;typedefsignedints32;typedefunsignedintu32;typedef…

    2022年10月15日
    3
  • java进程间通信的方式_关闭所有java进程

    java进程间通信的方式_关闭所有java进程进程间通信又称IPC(Inter-ProcessCommunication),指多个进程之间相互通信,交换信息的方法。根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:1、低级通信,控制信息的通信(主要用于进程之间的同步,互斥,终止和挂起等等控制信息的传递)。2、高级通信,大批数据信息的通信(主要用于进程间数据块数据的交换和共享,常见的高级通信有管道,消息队列,共享内存等)。进程间…

    2022年10月11日
    2

发表回复

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

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