【发布时间】:2019-01-15 22:03:36
【问题描述】:
我知道可以像这样使用sparklyr 加入两列:
final <- tbl1 %>% left_join(tbl2, by = c("x1" = "x2", "y1" = "y2"))
但是有没有办法在我的impala sql 查询中加入如下两列:
select
a.col1
,b.col2
from tbl1 a
left join
(select * from tbl1 )b
on a.id = b.id
and( a.date1 = b.date1
or
a.date2 = b.date2 )
我想它会是这样的:
final <- tbl1 %>% left_join(tbl2, by = c("x1" = "x2",c("y1" = "y2" or "y3" = "y4")))
【问题讨论】:
-
不,不是
dplyr(据我所知)。但是您可以使用sqldf包在SQL 中运行它。或者你可以将它分成几部分,做两个单独的连接,然后合并和去重复结果。 -
合并然后过滤,类似于:
left_join(tbl1, tbl2, by = c("x1" = "x2")) %>% filter(y1 == y2 | y3 == y4)