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

未明确定义列什么原因_将多表数据汇总到一个表运行环境: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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sop流程图模板_SOP模板-标准操作流程编写程序.doc「建议收藏」

    sop流程图模板_SOP模板-标准操作流程编写程序.doc「建议收藏」SOP模板-标准操作流程编写程序PAGE第PAGE7页共NUMPAGES7页标准操作流程编写程序编制部门:商务部文件审核:文件批准:批准日期:2005.05.25修改记录修改时间修改摘要批准人修改申请单号2005-5-25修改部门编码1目的指导文件编写者能够高效的编写出符合文件编写标准程序的文件来。范围此文件适合所有编写标准操作流程的文件编写人员。3职责3.1…

    2022年5月26日
    68
  • java list转set用法

    java list转set用法参考:https://blog.csdn.net/kye055947/article/details/80561633之前一直被这两list转set,set转list所烦恼,今天整理了下两者之间怎么转的初始化listList<Integer>list=newArrayList<>();list.add(11);list.add(22);list.add(33);方法一(直接放HashSet里面)Set<Integer>lis

    2022年6月21日
    43
  • 2、wxWidgets介绍–菜单栏、状态栏、图标简介

    2、wxWidgets介绍–菜单栏、状态栏、图标简介wxWidgetswxWidgets是一个用来编写C++程序的GUI(图形用户界面)工具包。它是一个开源的、成熟的、跨平台的工具包。wxWidgets应用程序能在所有主流的操作系统上运行,Windo

    2022年7月2日
    26
  • Golang语言空白符

    Golang语言空白符空白符 blankidentif 空白符的产生可能是因为 go 不允许变量声明了但不使用 既然不想使用 何必声明变量呢 那就将变量用空白符代替 反正空白符就是用来抛弃的 1 空白符用来匹配一些不需要的值 然后丢弃掉 下面的 blank identifier go 就是很好的例子 ThreeValues nbsp 是拥有三个返回值的不需要任何参数的函数 在下面的例子中 我们将第

    2025年11月20日
    9
  • c++用socket,ftp进行文件传输,实现上传与下载文件功能

    c++用socket,ftp进行文件传输,实现上传与下载文件功能

    2021年3月12日
    230
  • Latex数学公式表[通俗易懂]

    Latex数学公式表[通俗易懂]Latex的两种公式模式:行间(inline)模式:即在正文中插入数学内容。行间公式用$…$独立(display)模式:独立成行,可以有或没有编号。无编号用\[…\]

    2022年6月15日
    30

发表回复

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

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