我有两个数据相似的表,我需要查询表的并集。我更改了实际使用的表名,只是为了说明这个问题:
SELECT
UORD.ORDER_NUM
FROM
(SELECT ORDER_ID, ORDER_NUM, PKG_ID
FROM ORDER
UNION ALL
SELECT ORDER_ID, ORDER_NUM, PKG_ID
FROM AMENDING_ORDER) UORD
INNER JOIN PLAN ON PLAN.PKG_ID = UORD.PKG_ID;
我得到
ORA-00918:列定义模糊
由于PKG\u ID上的内部连接导致错误。
我的实际查询还有几个关于订单项的连接,最初我只使用第一个表,例如,Order
,效果很好。
有没有什么方法可以在查询中定义这个表的并集,使其不含糊?
我对数据进行了进一步的实验,是一些特定的专栏引起了这个问题。
跨表的数据类型都是相同的,但DBA允许相同的列在一个表中为null,而不是在另一个表中为null。
我将要求他改变这一点,因为我几乎可以肯定这是错误的,我认为这将解决这个问题。
您可以尝试使用表名(别名)作为列名的前缀,使其更加明确:
SELECT
UORD.ORDER_NUM
FROM
(SELECT O.ORDER_ID, O.ORDER_NUM, O.PKG_ID
FROM ORDER O
UNION ALL
SELECT AO.ORDER_ID, AO.ORDER_NUM, AO.PKG_ID
FROM AMENDING_ORDER AO) UORD
INNER JOIN PLAN ON PLAN.PKG_ID = UORD.PKG_ID;
一般在写C++相关代码的时候,我们总习惯于将类声明和类实现进行分离。也就是说,类的声明一般写在.h文件中,而它的实现一般写在.cpp文件中。但是,在模板类中,这个习惯却要恰恰相反。即:要求模板类的类声明和类实现要都放在头文件,而不能分离。 本文就对模板的这个奇特习惯进行分析。 分离式编译模式 在进行模板特性的讲解之前,首先需要了解一下C++的分离式编译模式。 所谓分离编译模式,就是指:一个程序或者
因此,我在使用多个临时表生成查询时遇到了一些问题。 首先,我创建了临时表。 然后我写下我的查询如下。这似乎是一个简单的查询。然而,我得到了错误“ORA-00918:列定义不明确”。我不知道是否可以连接这两个临时表,尤其是它们没有任何关系。我只想查询唯一id在DIDV表中的位置,以及标题和注释列不包含KEW字段的位置。 感谢您对理解这一点的任何帮助。 如果需要任何澄清,请告诉我。
我正在Celero git存储库中检查DoNotOptimizeAway的含义。但我还是不明白。请你用外行的话帮我理解一下好吗。尽你所能。
问题内容: 我刚刚在Oracle中遇到了一个奇怪的行为,我希望它会提高ORA-00918,但事实并非如此。以该查询为例。 此查询从概念上讲是在查找具有禁用触发器的表的详细信息,但是请注意,这不是我要解决的问题。这个问题不是该查询,数据字典,视图或表所独有的。据我所知,它适用于任何一组表或视图(我尝试过的两个或三个)。 无论如何,尝试运行此查询,你会得到ORA-00918,因为两者并有一个名为列,从
给定下面用Mockito模拟Scala类的代码,我会得到一个错误并且无法编译: 错误是: 对重载定义的引用不明确,类型为(x$1:class[common.testeable],x$2:org.Mockito.mocksettings)的对象Mockito中的方法mock和类型为(x$1:class[common.testeable],x$2:org.Mockito.stubbing.answhe
我正在考虑将Auth0用于我的API和web应用程序,并进行查询。生成Jwt令牌时,我希望包含一些仅存在于我的用户数据库中的自定义用户声明。这是可能的,还是所有声明都需要作为Auth0中的预定义属性存在。 我有自己的用户数据库,因为我需要在那里存储一些动态和复杂的用户权限。我意识到一个选择是不将这些权限存储在令牌中,我可以有一个单独的api来获取它们,但是为了性能和简单性,我宁愿将它们包装到Jwt