【发布时间】:2016-10-28 10:27:51
【问题描述】:
我不断收到此 ORA-00918: column ambiguously defined 错误,我不知道我做错了什么。任何帮助将不胜感激这是我的代码:
select CUSTOMER.CUS_CODE as CUS_CODE,
CUSTOMER.CUS_AREACODE as CUS_AREACODE,
INVOICE.INV_NUMBER as INV_NUMBER,
SUM(LINE.LINE_UNITS*LINE.LINE_PRICE) as Amount
from LINE LINE,
INVOICE INVOICE,
CUSTOMER CUSTOMER
where CUSTOMER.CUS_CODE=INVOICE.CUS_CODE
and INVOICE.INV_NUMBER=LINE.INV_NUMBER
group by CUS_AREACODE, CUS_CODE
【问题讨论】:
-
学习使用正确、明确的
JOIN语法。另外,我不确定问题是什么。查询中有两个不合格的列引用,所以答案对我来说很明显。 -
您(至少)有两个表,其中有一个名为
CUS_CODE的列。当你说order by CUS_CODE时,你指的是哪个表的CUS_CODE? -
@mustaccio 我正在尝试使用 CUSTOMER 表。如果我这样做
group by CUS_AREACODE, CUSTOMER.CUS_CODE它仍然给我那个错误 -
您最好说明该列的来源,就像 mustaccio 所说的那样。不仅是
CUS_CODE,还有所有的专栏。 -
用表的原名给表起别名的逻辑是什么?