原有的SQL语句是:

SELECT*
FROM(SELECTi.ID,i.NAME,i.code,i.num,i.state,i.unit,i.TYPE,i.addtime,i.TIME,i.userid,i.lastmodified,i.modifiedby,i.isdel,i.deptcode,i.manufacturer,i.productiondate,i.stationid,i.OFFICEID,s.NAME storeid,H.NAME houseid,A.NAME areaid FROMAE_INVOICING_INVENTORY i,AD_YJZY_STOREHOUSE s,AD_YJZY_HOUSE H,AD_YJZY_AREA A WHEREi.storeid = s.ID ( + ) AND i.houseid = H.ID ( + ) AND i.areaid = A.ID ( + ) ) T
WHERE1 = 1 AND T.isdel = 0 AND deptcode IN (SELECT DISTINCT( sd.RANGE ) AS depcode FROMsys_user su,sys_depart_user sdu,sys_depart sd WHEREsu.ID = sdu.userid AND sd.ID = sdu.departid AND su.ID = '022bc57b-5b83-43f4-9baf-b37d7782ca03' UNIONSELECT DISTINCT( ydr.dataid ) AS depcode FROMsys_user su,sys_role sr,sys_user_role sur,yw_data_role ydr WHEREsu.ID = sur.userid AND sr.ID = sur.roleid AND ydr.roleid = sr.ID AND su.ID = '022bc57b-5b83-43f4-9baf-b37d7782ca03' )
ORDER BYT.addtime DESC

后来因为需求的原因得改变查询 i 表中所有的字段,变成i.*,因为使用Oracle经验少,导致错误,大家一起看一下!

SELECT*
FROM(SELECTi.*,s.NAME storeid,H.NAME houseid,A.NAME areaid FROMAE_INVOICING_INVENTORY i,AD_YJZY_STOREHOUSE s,AD_YJZY_HOUSE H,AD_YJZY_AREA A WHEREi.storeid = s.ID ( + ) AND i.houseid = H.ID ( + ) AND i.areaid = A.ID ( + ) ) T
WHERE1 = 1 AND T.isdel = 0 AND deptcode IN (SELECT DISTINCT( sd.RANGE ) AS depcode FROMsys_user su,sys_depart_user sdu,sys_depart sd WHEREsu.ID = sdu.userid AND sd.ID = sdu.departid AND su.ID = '022bc57b-5b83-43f4-9baf-b37d7782ca03' UNIONSELECT DISTINCT( ydr.dataid ) AS depcode FROMsys_user su,sys_role sr,sys_user_role sur,yw_data_role ydr WHEREsu.ID = sur.userid AND sr.ID = sur.roleid AND ydr.roleid = sr.ID AND su.ID = '022bc57b-5b83-43f4-9baf-b37d7782ca03' )
ORDER BYT.addtime DESC

这个在Navicat中运行就出错> ORA-00918: column ambiguously defined,我弄了好长时间,我也在网上查过这个错误原因说是字段某列定义模糊,后来因为我华伟哥一句话把我点醒了,于是我就把别名修改了一下,后来一下成功了,原因就是别名和i 表中的字段冲突了,接下来看一下正确SQL语句:

SELECT*
FROM(SELECTi.*,s.NAME AS storeid11,H.NAME houseid11,A.NAME areaid11 FROMAE_INVOICING_INVENTORY i,AD_YJZY_STOREHOUSE s,AD_YJZY_HOUSE H,AD_YJZY_AREA A WHEREi.storeid = s.ID ( + ) AND i.houseid = H.ID ( + ) AND i.areaid = A.ID ( + ) ) T
WHERE1 = 1 AND T.isdel = 0 AND deptcode IN (SELECT DISTINCT( sd.RANGE ) AS depcode FROMsys_user su,sys_depart_user sdu,sys_depart sd WHEREsu.ID = sdu.userid AND sd.ID = sdu.departid AND su.ID = '022bc57b-5b83-43f4-9baf-b37d7782ca03' UNIONSELECT DISTINCT( ydr.dataid ) AS depcode FROMsys_user su,sys_role sr,sys_user_role sur,yw_data_role ydr WHEREsu.ID = sur.userid AND sr.ID = sur.roleid AND ydr.roleid = sr.ID AND su.ID = '022bc57b-5b83-43f4-9baf-b37d7782ca03' )
ORDER BYT.addtime DESC

整个过程的变化过程,短短的变化过程,花费了很长时间,还是经验太少啊!

过程图:

大神勿喷,欢迎留言!

Oracle 查询SQL语句报 ORA-00918: column ambiguously defined(Navicat中)相关推荐

  1. 关于Oracle执行sql语句报错[ORA-01722: invalid number]无效数字解决思路

    一.问题提示 执行Oracle的sql语句提示[ORA-01722: invalid number]无效数字错误. 二.问题分析 2.1.类型不匹配 即数据库中字段的设计类型与插入.修改的类型不统一( ...

  2. Oracle报错“ORA-00918:column ambiguously defined”

    一.现象描述 ORA-00918:column ambiguously defined,从字面上理解就是:未明确定义的列. 当出现这种SQL语句的时候就会出现:select t.* from (sel ...

  3. django进入admin报错ORA-00918:column ambiguously defined

    运行创建好的django项目,以"http://127.0.0.1"访问,成功显示小火箭页面,但当访问"http://127.0.0.1/admin"时报错,错 ...

  4. oracel 报错ORA-00918: column ambiguously defined

    问题描述 ORA-00918: column ambiguously defined 问题原因 字段问题,在2个表里有相同的名字,需要给字段加上表名

  5. oracle查询sql语句

    Oracle查询语句   select*from scott.emp ; 1.--dense_rank()分析函数(查找每个部门工资最高前三名员工信息) select*from(selectdeptn ...

  6. SQL报错: > ORA-00918: column ambiguously defined

    SQL执行出错: 项目场景:编写SQL语句时,使用外连接或嵌套查询结果时,报错 ORA-00918: column ambiguously defined Cause: java.sql.SQLExc ...

  7. ORACLE 查询SQL执行时间

    ORACLE 查询SQL执行时间: SELECT C.sample_time 执行时间, A.ELAPSED_TIME_DELTA / 1000000 "执行耗时(S)", B.s ...

  8. oracle 查询 sql 执行时间设置,ORACLE 查询SQL执行时间

    ORACLE 查询SQL执行时间: SELECT C.sample_time 执行时间, A.ELAPSED_TIME_DELTA / 1000000 "执行耗时(S)", B.s ...

  9. Oracle数据库SQL语句(四)—子查询(嵌套查询)

    Oracle数据库SQL语句(四) 子查询(嵌套查询) 1.单行子查询 SELECT * FROM stuWHERE ID > (SELECT ID FROM stu WHERE NAME =' ...

最新文章

  1. linux下activemq安装与配置
  2. mongoDB 文档操作_改
  3. Linux常用基本命令(cut)
  4. 数据结构实验之链表七:单链表中重复元素的删除
  5. office套件_【office】Android版微软办公套件Office独立版一体化
  6. 学生DW静态网页设计 红色中国文化主题网站设计 ——美丽中国1页HTML+CSS
  7. 临渊慕鱼,不如退而结网!
  8. android wine教程_如何在 Android 上借助 Wine 来运行 Apps
  9. Python小例子,太走心~
  10. 创建github或者gitee(国内版github)账户
  11. CSS的class常用命名规则
  12. Django + mysql + 微信 抢票之本地环境搭建
  13. 8位数:数字、小写字母字典思考
  14. Python模块configparser:加载配置文件config.ini
  15. 深度学习笔记之稀疏自编码器
  16. 【调优方法】——warmup
  17. 利用supervisor对服务进行管理
  18. Linux服务器12小时制转24小时制
  19. python爬取网易云某一歌手的音乐评论
  20. 女朋友问小灰:什么是数据仓库?什么是数据湖?什么是智能湖仓?

热门文章

  1. 阿里云OSS上传文件并返回文件地址
  2. java导出excel无法打开
  3. MySQL运行退出命令
  4. 卧虎藏龙的科学岛-CV真香定律
  5. 决不应该调用E x i t T h r e a d。应该使用Visual C++运行期库函数_ e n d t h r e a d e x
  6. 基于JAVA工资管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  7. 只用 6 分钟,让你弄明白什么是 API 及 API 管理
  8. Linux命令ls -a、ls -l具体含义
  9. docker 运行java程序_Docker:在容器中运行Java应用程序
  10. MySQL 5.6无法通过Navicat远程连接 1045 - Access denied for user 'root'@'::1' (using password: YES) 的解决办法