【问题标题】:Unable to execute nested SQL queries in Spark SQL无法在 Spark SQL 中执行嵌套 SQL 查询
【发布时间】:2018-09-22 20:37:14
【问题描述】:

我正在尝试执行此查询,但它不起作用:

SELECT COLUMN
FROM TABLE A           
WHERE  A.COLUM_1 = '9999-12-31' AND NOT EXISTS (SELECT 1 FROM TABLE2 ET WHERE ET.COl1 = A.COL2 LIMIT 1)

它会导致一个错误,内容如下:

“来自预期的不匹配输入”

Went through this post as it states its supported by Spark with 2.0+ version.

【问题讨论】:

  • 并且不存在?
  • 您使用的是哪个版本的 Spark?
  • 版本 - 2.3.0

标签: sql apache-spark apache-spark-sql


【解决方案1】:

我不确定 SparkSQL 是否支持 TOP。但这不是必需的。这行得通吗?

SELECT t.COLUMN
FROM TABLE t           
WHERE t.COLUM_1 = '9999-12-31' AND
      NOT EXISTS (SELECT 1 FROM TABLE2 ET WHERE ET.COl1 = t.COL2);

这修复了查询的一些其他语法问题(例如没有别名A)。

LIMIT 在子查询中也不需要。 NOT EXISTS 应该在第一场比赛停止。

【讨论】:

  • 是的,很抱歉 TOP 不正确,因为它不受支持,我想我应该使用 LIMIT 1 而不是 TOP 1,谢谢顺便说一句
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 2021-09-06
相关资源
最近更新 更多