-1
SELECT
c.CONSOL_INVOICE,
cu.name,
cu.CUST_CODE,
c.bu_name,
cLang.name
FROM CONSL_INV c
LEFT JOIN customers cu ON c.cust_code = cu.CUST_CODE,
customers_lang cLang
WHERE
upper(cLang.NAME) LIKE ?
AND upper(cLang.LANGUAGE_CD) = ?
AND c.CUST_CODE = cLang.CUST_CODE
這個查詢在Oracle Sql Developer中正確執行,但它不會在hibernate中執行。ORA-00918:列模糊定義我得到這個錯誤
它提供了以下錯誤:
"ORA-00918: column ambiguously defined"
我知道這是因爲有多個同名的列,但我已經做得正確,但仍然不知道爲什麼它不處於休眠執行。
嘗試爲colums'cu.name'和'cLang.name'添加別名 – HAYMbl4
因爲您知道這是因爲多個列共享相同的名稱,所以爲什麼不使用別名? – fpietka
此外,您真的不應該在查詢中混合使用ANSI連接和逗號分隔表。它不太可讀,並且更容易出錯。 – fpietka