1
我有一個龐大的數據的一些表,所以我嘗試使用該數據來創建一種報告的基礎上,使用`LEFT JOIN」一些條件,無法選擇數據連接表
SELECT SUBSIDIARY, MAIN_ACCOUNT, AMOUNT ... FROM (
...
LEFT JOIN (SELECT MAIN_ACCOUNT, ACCOUNT_NO AS SUBSIDIARY FROM TABLE1 WHERE STATUS = 'A') K
ON MAIN_ACCOUNT = K.MAIN_ACCOUNT
LEFT JOIN (SELECT SUM(AMOUNT) AS AMOUNT, ACCOUNT_NO, FROM TABLE2 WHERE ACCOUNT_NO = K.ACCOUNT_NO GROUP_BY ACCOUNT_NO) L
ON SUBSIDIARY = L.ACCOUNT_NO --this is where i got into a problem
...
);
問題是我不能訪問K.ACCOUNT_NO
從另一個我已經嘗試使用WHERE ACCOUNT_NO = SUBSIDIARY
加入,因爲我選擇在主SELECT
。這是否意味着我無法從另一個連接訪問先前查詢的數據?
錯誤,我得到:
ORA-00904: "SUBSIDIARY": invalid identifier
如果我使用k.subsidiary
或k.account_no
ORA-00904: "k.SUBSIDIARY": invalid identifier
ORA-00904: "k.account_no": invalid identifier
@GurwinderSingh更新錯誤信息 – Hatik
你的問題不能得到有效的回答是,因爲你有你選擇曖昧列。在你的第一個LEFT JOIN中,你說'ON MAIN_ACCOUNT = K.MAIN_ACCOUNT'。那第一個指哪來的?回顧並完全符合您選擇的所有字段。這個過程可能實際上幫助你找到問題所在。如果沒有,請編輯您的帖子以顯示結果,這將有助於澄清問題所在。 – SandPiper
@SandPiper首先'MAIN_ACCOUNT'來自其他表,因爲它會帶來更多的困惑,所以我沒有把它包括在內,我認爲它不是重要的來自 – Hatik