sql - 将where条件中的子查询列检索到主查询时出错
问题描述
我正在尝试检索子查询中的列,该列用于 Oracle SQL 中的 where 条件。我面临 ORA-00904 无效标识符错误。下面是查询。有人可以解决。
试图在子查询中检索 ev.type , ev.fil_path 选择 ev.type , ev.fil_path,ev.test_path from effortvariation ev
我尝试给出 alias ,但没有被接受。
select
ev.fil_path,
ev.tes_path,
sp.uname,
sp.pwd,
s.desc,
sp.option,
oq.master_id,
oq.status
from onlineQuery oq
inner join supporttask s
on oq.sq =s.seq
inner join securityports sp
on sp.sq=oq.sq
where sp.type in
(select ev.type , ev.fil_path,ev.test_path from effortvariation ev
where ev.team =
(select team from allTeams where id ='k238')
and ev.name ='qa'
)
and sp.acct='active'
解决方案
如果您使用 SQL*Plus,它将指向发生错误的确切位置。例如:
SQL> select *
2 from employee
3 where 1 = 1
4 and id = 23;
and id = 23
* --> see? ID is invalid
ERROR at line 4:
ORA-00904: "ID": invalid identifier
ORA-00904
通常意味着该表中不存在具有此类名称的列。因此,如果我将其更改为名称有效的列:
SQL> c/id/empno
4* and empno = 23
SQL> /
no rows selected
SQL>
没有更多错误(好的,没有返回任何内容,但这不是错误)。
我建议你也这样做,找出问题所在,检查表,修复列名。如果我们知道表格的描述,我们可以提供帮助,但是 - 我们不知道,您从未发布过该信息。
推荐阅读
- javascript - VueJS 更新 v-for
- regex - 简单的正则表达式在期望中不起作用
- android - LiveData 的包装类
- jhipster - 如何更新 JHipster 中的 Swagger UI 文档?
- python - 哪个跑得更快
- c++ - 使用指向指针 C++ 的指针删除只有一个子节点的二叉树
- python - Python中的相似度度量
- html - Embedding HTML into SVG - 如何在 HTML 命名空间元素中正确呈现 HTML 标记,与我的 SVG 内联?
- java - 我可以将 hibernate/jpa 查询的结果映射到不是实体的类吗?
- angular - 列 TEXT 的离子 SQLite 插入值未定义