问题标签 [ora-00918]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3319 浏览

java - Hibernate Criteria 导致 ORA-00918:列定义不明确

我正在运行以下代码:

这导致ORA-00918: column ambiguously defined异常。条件有一个表TAmbitos,它通过引用自身TAmbitosByPais(任何给定TAmbitos的行都有一个TAmbitosByIdPais引用另一个的字段TAmbitos)。生成的 SQL 是:

正如您在 WHERE 子句中看到的那样,SQL 无法判断我引用的是什么“名词”字段。我可以通过在 sqlRestriction 中添加 this_ 来克服这个问题:

但我不知道这是否是最好的解决方案,因为我无法确定 SQL 是否总是将查询的表引用为 this_。还有另一种方法来定义标准,所以“名词”引用TAmbitos.nombre而不是TAmbitosByIdPais.nombre

谢谢。

0 投票
4 回答
6814 浏览

sql - 使用 rownums 在子查询中模糊定义的列

我必须执行一些用户创建的 SQL 并显示其结果。一个示例 SQL 可能是这样的:

这个 SQL 工作正常,但我需要手动添加分页并显示 rownum,所以 SQL 最终是这样的。

这会引发异常:“ORA-00918: column ambiguously defined”,因为 Table1 和 Table2 都包含具有相同名称(“id”)的字段。

避免这种情况的最佳方法是什么?

问候。

  • 更新

最后,我们不得不采用丑陋的方式,在执行它们之前解析每个 SQL。基本上,我们解决了星号以发现我们需要添加哪些字段,并使用唯一 id 为每个字段设置别名。这引入了性能损失,但我们的客户明白这是给定要求的唯一选择。

我将标记 Lex 答案,因为它是我们最终研究的解决方案。

0 投票
2 回答
9966 浏览

sql - 带有两个子选择的 FULL OUTER JOIN 给出“ORA-00918: column ambiguously defined”

两个子选择都可以独立运行。

但我希望加入他们,这总是给出“ORA-00918:列不明确定义”。我不明白为什么?

两个子选举都使用其他名称。

0 投票
1 回答
1057 浏览

plsql - 过程错误 ORA-00918: 列定义不明确

嘿,任何人都可以帮助解决这个错误:

9/10 PLS-00428: an INTO clause is expected in this SELECT statement

尝试基于单个参数打印详细信息时会出现此问题。这是我一直在使用的代码

0 投票
3 回答
965 浏览

sql - 通过 SELECT 查询插入太多列

虽然这按预期工作:

我收到一个奇怪的“ORA-00918:列不明确定义”错误,尝试使用两个以上的列:

为什么我在这里收到 ORA-00918 错误?我可以在 INSERT WHEN ... THEN INTO ... SELECT 模式中选择多少列有限制吗?

注意:我使用的是 Oracle 11.2.0.1.0,我尝试在生产中执行的实际查询更复杂,并且引用了其他表(并且使用“VALUES”是不够的)。这只是简化的情况...

0 投票
5 回答
32740 浏览

oracle - ORA-00918: 列定义不明确: 如何查找列

我收到了经典错误:

ORA-00918: 列定义不明确

通常,我知道如何解决它,但我现在的问题是我正在处理 700 行查询。

有没有办法识别列?

0 投票
1 回答
1062 浏览

sql - ORA 00918 - 列定义不明确的错误

我的 Oracle 数据库中有两个表。

第一张桌子是(客户)-

第二张表是(订单):

现在我想加入这两个表。所以我使用了查询:

我用谷歌搜索了这个错误,发现当 SQL 代码本身存在歧义时会发生这种情况,但在这种情况下,我什么也看不到。

0 投票
2 回答
3624 浏览

oracle - Oracle UNION 不同的列

我有两张表看起来像:

我的查询使用 UNION 将这些表的结果放在一起,但在 TABLE_2 没有 COL_C 的地方,我希望放置类似“0”的内容。但我只是得到一个“ORA-00918:列不明确定义”错误

我怎样才能解决这个问题?

0 投票
1 回答
605 浏览

sql - ORA-00918: 列定义不明确,使用 DB Link

当我执行下面的查询时,我收到以下错误消息:

ORA-00918: 列定义不明确

ORA-02063: ABC 的前一行

询问:

如果我评论它有效fou_r.*SELECT

以下查询也不起作用:

我在 SO 上查看了类似的问题,但它们都在使用复杂的查询,或者在SELECT内部使用了很多WHERE。我的很简单,这就是为什么我不明白可能出了什么问题。

当前数据库: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production

目标数据库(指db link ABC目标): Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi

客户端: Toad for Oracle 9.7.2.5

0 投票
0 回答
79 浏览

sql - ORA-00918: 选择 paramlistpa 列表时列定义不明确

我知道这个问题之前已经被问过很多次了,但是我在这里看到了所有关于这个问题的讨论,但是没有一个可以帮助我解决我的问题。

所以我的问题是我得到了这个错误。据我了解,此错误是由列无法确定它将从哪个表中提取数据引起的,因此我们可以通过将列名称变量(例如s.sampleid 作为 ssampleid )来解决它。正确的?

这是我的代码

这是我通过为列提供变量所做的

根据我的测试,错误是由paramlistpa引起的