0

我需要使用 HSQL 执行以下查询(使用 ORACLE 可以正常工作):

select t.name as sh_name,
         b.name as sh_bName
from PERSON t 
       left outer join TRANS tr on t.id=tr.tid
       left outer join AGREEM agr on tr.tripNumber=SUBSTR(agr.coll_external,1,4)
       left outer join PERSON b on (b.TYP='BROKER' and agr.broker_id = b.id)

where t.TYP='TRADER'

我收到以下错误:not allowed in OUTER JOIN condition in statement。问题来自使用SUBSTR,没有它我不会收到任何错误。在 Oracle 中,上述语句工作得很好。

知道如何SUBSTR在 HSQL 的连接子句中使用吗?

4

1 回答 1

0

这是旧版本 HSQLDB 的限制。

较新的版本 2.x 允许在 OUTER JOIN 条件下使用 SUBSTR 或任何其他函数。

最新版本还支持兼容模式,以改进对 Oracle 数据类型和特性的处理。

于 2013-02-27T14:03:19.743 回答