2013-02-27 63 views
0

我需要執行使用HSQL以下查詢(用ORACLE正常工作):使用SUBSTR在HSQL左外連接子句

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的連接子句中使用SUBSTR

回答

0

這是HSQLDB舊版本的限制。

較新版本2.x允許在OUTER JOIN條件下使用SUBSTR或任何其他函數。

最新版本還支持兼容模式,以改進對Oracle數據類型和功能的處理。

+0

因此,較新版本的hsqldb將是解決方案...坦克! – Marius 2013-02-27 14:19:57