相关疑难解决方法(0)

Spark替换EXISTS和IN

我试图运行使用EXIST子句的查询:

select <...>    
  from A, B, C
where
  A.FK_1 = B.PK and
  A.FK_2 = C.PK and
  exists (select A.ID from <subquery 1>) or 
  exists (select A.ID from <subquery 2>) 
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎不受支持.我也尝试用EXISTS一个IN子句替换该子句:

select <...>    
  from A, B, C
where
  A.FK_1 = B.PK and
  A.FK_2 = C.PK and
  A.ID in (select ID from ...) or
  A.ID in (select ID from ...)
Run Code Online (Sandbox Code Playgroud)

不幸的是,该IN条款似乎也没有得到支持.

有关如何编写实现所需结果的SQL查询的任何想法?我原则上可以将该WHERE条款建模为另一个条款,JOIN而第二个OR条款则可以模拟,UNION但它看起来非常笨拙.

编辑:列出一些可能的解决方案.

解决方案1

select <...>    
  from A, …
Run Code Online (Sandbox Code Playgroud)

sql apache-spark-sql

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

apache-spark-sql ×1

sql ×1