【发布时间】:2015-03-17 16:02:50
【问题描述】:
所以我的 sql oracle 代码中出现“列不明确定义”错误,我无法弄清楚为什么会出现错误。我知道这意味着代码无法确定要使用同名的两列中的哪一列,所以我需要使用前缀。但我的前缀都是正确的。我在网站上查看了有关此错误消息的其他问题,但无法弄清楚。
ORA-00918: kolumn inte entydigt definierad
00918. 00000 - “列定义不明确”
*原因:
*行动:
行错误:4 列:5
SELECT KUND.KNR, KUND.FNAMN, KUND.ENAMN
FROM KUND, ORDERRAD, KUNDORDER, KUNDORDER, ARTIKEL, VARUGRUPP
WHERE KUND.KNR = KUNDORDER.KNR
AND KUNDORDER.ORDNR = ORDERRAD.ORDNR
AND ORDERRAD.ARTNR = ARTIKEL.ARTNR
AND ARTIKEL.VGNR = VARUGRUPP.VGNR
AND VARUGRUPP.VGNAMN = 'skäggvård' OR VARUGRUPP.VGNAMN = 'bondgård';
【问题讨论】:
-
好吧,你仍然使用
KUNDORDER两次,但没有给它们一个唯一的别名,所以,显然它是模棱两可的。另外,您确定OR不应该在括号之间吗?最后,我将开始使用显式连接而不是隐式连接