postgreHive SQL Cross Join Question on condition



奇妙的宇宙编码器,我有一个问题:

我正在写一个HIVE SQL脚本,我想知道是否可以在某个条件下交叉联接(下面的条件是星期五(,或者是否有一个性能较低的替代方案来代替我下面所做的我只需要在周五的日期中添加两行,这只是周六和周日周五日期数据的持久化。我在联接条件上遇到了一个错误,但我想知道是否可以以某种方式绕过它

非常清楚的是,下面编写查询的方式给了我一个错误(特别是DAYOFWEEK(performance_end_date(=6(。只是想知道是否有一种方法可以在语法被接受的地方写这篇文章。

请告知。

select 
portfolio_name
,Cast(Date_add(a.performance_end_date, crs.crs) AS TIMESTAMP) AS performance_end_date 
,return
,nav
,nav_id
,row_no
from
(
SELECT portfolio_name, performance_end_date, return, cast(cast(nav as decimal(20,2))as string) as nav, nav_id
,row_number() over (partition by a.portfolio_code,a.performance_end_date order by a.nav_id desc) as row_no
FROM carsales a
WHERE  
portfolio_code IN ('1994','2078','2155','2365','2367')
and
year=2020 and month=09

) a

CROSS JOIN (SELECT stack(2, 1,2) as crs) crs     and DAYOFWEEK(performance_end_date) = 6
where a.row_no = 1

CROSS JOIN没有"加入条件";,所以把你的标准移到哪里条款

CROSS JOIN (SELECT stack(2, 1,2) as crs) crs
where a.row_no = 1 and DAYOFWEEK(performance_end_date) = 6

最新更新