问题标签 [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.
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
?
谢谢。
sql - 使用 rownums 在子查询中模糊定义的列
我必须执行一些用户创建的 SQL 并显示其结果。一个示例 SQL 可能是这样的:
这个 SQL 工作正常,但我需要手动添加分页并显示 rownum,所以 SQL 最终是这样的。
这会引发异常:“ORA-00918: column ambiguously defined”,因为 Table1 和 Table2 都包含具有相同名称(“id”)的字段。
避免这种情况的最佳方法是什么?
问候。
- 更新
最后,我们不得不采用丑陋的方式,在执行它们之前解析每个 SQL。基本上,我们解决了星号以发现我们需要添加哪些字段,并使用唯一 id 为每个字段设置别名。这引入了性能损失,但我们的客户明白这是给定要求的唯一选择。
我将标记 Lex 答案,因为它是我们最终研究的解决方案。
sql - 带有两个子选择的 FULL OUTER JOIN 给出“ORA-00918: column ambiguously defined”
两个子选择都可以独立运行。
但我希望加入他们,这总是给出“ORA-00918:列不明确定义”。我不明白为什么?
两个子选举都使用其他名称。
plsql - 过程错误 ORA-00918: 列定义不明确
嘿,任何人都可以帮助解决这个错误:
9/10 PLS-00428: an INTO clause is expected in this SELECT statement
尝试基于单个参数打印详细信息时会出现此问题。这是我一直在使用的代码
sql - 通过 SELECT 查询插入太多列
虽然这按预期工作:
我收到一个奇怪的“ORA-00918:列不明确定义”错误,尝试使用两个以上的列:
为什么我在这里收到 ORA-00918 错误?我可以在 INSERT WHEN ... THEN INTO ... SELECT 模式中选择多少列有限制吗?
注意:我使用的是 Oracle 11.2.0.1.0,我尝试在生产中执行的实际查询更复杂,并且引用了其他表(并且使用“VALUES”是不够的)。这只是简化的情况...
oracle - ORA-00918: 列定义不明确: 如何查找列
我收到了经典错误:
ORA-00918: 列定义不明确
通常,我知道如何解决它,但我现在的问题是我正在处理 700 行查询。
有没有办法识别列?
sql - ORA 00918 - 列定义不明确的错误
我的 Oracle 数据库中有两个表。
第一张桌子是(客户)-
第二张表是(订单):
现在我想加入这两个表。所以我使用了查询:
我用谷歌搜索了这个错误,发现当 SQL 代码本身存在歧义时会发生这种情况,但在这种情况下,我什么也看不到。
oracle - Oracle UNION 不同的列
我有两张表看起来像:
我的查询使用 UNION 将这些表的结果放在一起,但在 TABLE_2 没有 COL_C 的地方,我希望放置类似“0”的内容。但我只是得到一个“ORA-00918:列不明确定义”错误
我怎样才能解决这个问题?
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
sql - ORA-00918: 选择 paramlistpa 列表时列定义不明确
我知道这个问题之前已经被问过很多次了,但是我在这里看到了所有关于这个问题的讨论,但是没有一个可以帮助我解决我的问题。
所以我的问题是我得到了这个错误。据我了解,此错误是由列无法确定它将从哪个表中提取数据引起的,因此我们可以通过将列名称变量(例如s.sampleid 作为 ssampleid )来解决它。正确的?
这是我的代码
这是我通过为列提供变量所做的
根据我的测试,错误是由paramlistpa引起的