ORA-00918:列模糊定义:如何查找列

Dan*_*ele 4 oracle ora-00918

我得到了经典错误"ORA-00918:列模糊定义",通常我知道如何解决它,但我现在的问题是我正在使用700行查询.有没有办法识别列?

Thx Daniele

Ric*_*old 6

你试过做二分搜索吗?

例如

如果您的原始查询看起来像 Select col1 ,col2 ,col3 ,col4 from MyTable

  1. 你可以从评论下半场开始 Select col1 ,col2 /*,col3 ,col4 */ from MyTable

  2. 如果仍然出现错误,请再次运行查询,评论另一半的某些列:

Select col1 /*col2 */ col3 col4 from MyTable

如果仍然出现错误,则问题出在col1上,否则需要更改col2


APC*_*APC 5

模糊列错误消息表示您已在查询中加入两个(或更多)列,这些列共享相同的列名.

解决此问题的正确方法是为查询中的每个表提供一个别名,然后使用适当的别名为所有列引用添加前缀.我同意这么大的查询不会很有趣,但我担心你必须付出前任松懈的代价.