Informix“发生语法错误。”使用子查询时

时间:2019-12-16 16:15:56

标签: sql syntax-error informix

以下两个查询有效:

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

为什么?

1 个答案:

答案 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