在HSQL左外连接子句中使用SUBSTR

时间:2013-02-27 11:12:48

标签: left-join hsqldb outer-join

我需要使用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中,上述声明工作得很好。

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

1 个答案:

答案 0 :(得分:0)

这是旧版HSQLDB的限制。

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

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