以下两个查询有效:
collect()
还有
val payload = sparkSession.sql(s"select * from table where ID = id").toJSON.collect().mkString("\n")
但是,如果我尝试将它们加入一个查询中,则会收到“发生语法错误”
SELECT SUM(actdtmahi+actdtmahd+actdtmahv) AS saldo
FROM actdt
WHERE actdtcage=116437 AND actdtmrcb=0 AND actdtccic=55204
为什么?
答案 0 :(得分:1)
我认为Informix不允许在子查询中使用FIRST
。请尝试使用MAX()
:
actdtccic IN (SELECT MAX(acbccccic)
FROM acbcc
WHERE acbccscic IN (4, 5) AND
acbccccic IN (SELECT acbcaccic FROM acbca WHERE acbcacage=116437)
)
此外,您可以使用=
而不是IN
。