我尝试在 Exasol 数据库中使用 SQL 编写子查询。问题类似于这个线程(SQL Query - join on less than or equal date)并且代码在mysql和postgres中运行良好。但是,当我将代码移动到 Exasol 时,它显示 SQL 错误 42000:on 子句中的相关性。我想知道这个问题是否有任何替代解决方案,或者我如何在 Exasol 中解决它?
SELECT a.ID,
a.join_date,
a.country,
a.email,
b.start_date,
b.joined_from
FROM a
LEFT JOIN b
ON a.country = b.country
AND b.start_date = (
SELECT MAX(start_date)
FROM b b2
WHERE b2.country = a.country
AND b2.start_date <= a.join_date
);