为了账号安全,请及时绑定邮箱和手机立即绑定

ORA-00918:列在SELECT中含糊*

ORA-00918:列在SELECT中含糊*

当年话下 2019-11-03 15:04:39
获取ORA-00918:列定义不明确:运行此SQL:SELECT *FROM  (SELECT DISTINCT(coaches.id),    people.*,    users.*,    coaches.*  FROM "COACHES"  INNER JOIN people ON people.id = coaches.person_id  INNER JOIN users ON coaches.person_id = users.person_id  LEFT OUTER JOIN organizations_users ON organizations_users.user_id = users.id) WHERE rownum <= 25有什么建议吗?
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

在选择对应列可以为空的联合时,您还会看到此错误。


select * from (select D.dept_no, D.nullable_comment

                  from dept D

       union

               select R.dept_no, NULL

                 from redundant_dept R

)

这显然使解析器感到困惑,一种解决方案是将列别名分配给始终为null的列。


select * from (select D.dept_no, D.comment

                  from dept D

       union

               select R.dept_no, NULL "nullable_comment"

                 from redundant_dept R

)

别名不必与对应的列相同,但是结果中的列标题是由并集成员中的第一个查询驱动的,因此这可能是一个好习惯。



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 408 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信