gpt4 book ai didi

sql - 执行左外部联接时,配置单元中的日期过滤器

转载 作者:行者123 更新时间:2023-12-02 21:58:55 26 4
gpt4 key购买 nike

我正在 hive 中进行查询构建,查询如下。

*

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

*

当我在 hive 中执行上表时,出现以下错误

“在JOIN'SASP'中遇到左右别名”

在进一步调查中,我发现我们不能在条件连接中使用过滤器之间的日期。在每个帖子中,每个人都要求在条件中插入该过滤器。

但是在我们的例子中,如果我们将日期在过滤器之间移动到条件位置,那么由于左外部联接不令人满意,因此我们不会获得任何数据。

在HIVE中执行时遇到此问题,在Teradata和oracle中工作正常

请帮忙。

最佳答案

在Hive中,只有equal(=)在联接条件下起作用。 <= 移至where子句。

我之前有类似的问题。请检查以下线程。

Hive Select MAX() in Join Condition

希望这可以帮助。

关于sql - 执行左外部联接时,配置单元中的日期过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43247604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com