我正在做一個查詢構建在配置單元中,查詢如下。在配置單元中進行左外連接時的日期過濾器
*
Select * from CSS407
LEFT OUTER JOIN PROD_CORE.SERV_ACCT_ISVC_LINK SASP
ON CSS407.TABLE_ABBRV_CODE = 'SACT'
AND CSS407.EVENT_ITEM_REF_NUM = SASP.Serv_Acct_Id
AND to_date(CSS407.EVENT_RTS_VAL) >= SASP.Acct_Serv_Pnt_Strt_Dt
AND to_date(CSS407.EVENT_RTS_VAL) < SASP.Acct_Serv_Pnt_End_Dt
LEFT OUTER JOIN PROD_CORE.CUST_ACCT_SA_LINK ASA
ON CSS407.TABLE_ABBRV_CODE = 'SACT'
AND CSS407.EVENT_ITEM_REF_NUM = ASA.Serv_Acct_Id
AND CSS407.EVENT_RTS_VAL_UTC_DTTM >= ASA.Acct_Relt_Strt_Dttm
AND CSS407.EVENT_RTS_VAL_UTC_DTTM < ASA.Acct_Relt_End_Dttm
LEFT OUTER JOIN PROD_CORE.CUST_SA_LINK ASAT
ON CSS407.TABLE_ABBRV_CODE = 'TACT'
AND CSS407.EVENT_ITEM_REF_NUM = ASAT.Serv_Acct_Id
AND CSS407.EVENT_RTS_VAL_UTC_DTTM >= ASAT.Acct_Relt_Strt_Dttm
AND CSS407.EVENT_RTS_VAL_UTC_DTTM < ASAT.Acct_Relt_End_Dttm
*
當我執行上面的表中蜂巢我提示以下錯誤:
「左,右別名遇到JOIN 'SASP'」
在進一步的調查中,我創建了我們不能在加入條件過濾器之間使用日期。在每篇文章中,每個人都要求將該過濾器插入到哪裏。
但是在我們的情況下,如果我們將過濾器之間的日期移動到where條件,那麼由於左外連接並不令人滿意,所以我們沒有得到任何數據。
我得到這個問題,而在HIVE執行,它是在Teradata的做工精細和Oracle
請幫助。
請分享真正的SELECT子句(它可能不是'Select *'),因爲可能有其他方法來解決它,然後使用多個LEFT JOIN –
P.我假設你從每個連接表中獲得單個記錄? –
你有連接表的主鍵嗎? –