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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 逻辑漏洞实验

    逻辑漏洞实验逻辑漏洞实验…

  • 【JAVA 课程设计 之 万年历】「建议收藏」

    距离2017年还有30多个小时~转眼间2016只剩一个尾巴了,大学生活也过了快一半了,自己却依旧那么笨手笨脚,不会的知识永远那么多,该看的书永远没机会去看,2017愿一切如昨天抽的签:远方不一定有诗,但有更好的自己~明天你好,请多关照~2017希望我的家人们,小伙伴们,以及所有帮助过我的朋友们都能健健康康,万事如意~Java课设远没有自己想的难,万年历,不用做显示面~也算2016JAVA的最后一

  • parse_str() 函数把查询字符串解析到变量中。

    parse_str() 函数把查询字符串解析到变量中。

    2021年10月12日
  • BeanUtils如何优雅的拷贝List[通俗易懂]

    BeanUtils如何优雅的拷贝List[通俗易懂]前言BeanUtils.copyProperties();确实为我们做了很多事情,虽然不能完美完成深拷贝,但是对于po、vo、dto的拷贝已经足够用了。但是其还是有一些不够完美的地方不足:不能拷贝list,而拷贝list的情况又大量存在,因此会有许多重复代码 for(Ssource:sources){Ttarget=newT();…

  • 对于三极管饱和状态的一些浅见——与网友的讨论贴

    对于三极管饱和状态的一些浅见——与网友的讨论贴网友问:2012-10-1612:16:34 郑老师:这篇大作把三极管的放大和截止两个状态阐述其机理挺明白了。那么还有第三个状态,饱和状态是怎么一个情况?请问1.三极管饱和状态是通过外部偏置电阻等预先设置好,通电后直接进入这个饱和状态的吗?2.三极管处于饱和状态时,集电结施加正偏电压后,基区及集电区各载流子的运动状态是怎样的?我怎么觉得两个PN结都

  • redis版本怎么查看(查看redis进程)

    1下载redis并且解压https://www.runoob.com/redis/redis-install.html2分别启动服务端和客户端3在服务端输入info命令,可以看到当前版本

发表回复

您的电子邮箱地址不会被公开。

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