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では、上記のステートメントは問題なく機能します。

SUBSTRHSQLのjoin句でどのように使用できるか考えていますか?

4

1 に答える 1

0

これは、HSQLDBの古いバージョンの制限です。

新しいバージョン2.xでは、OUTERJOIN条件でSUBSTRまたはその他の関数を使用できます。

最新バージョンは、Oracleのデータ型と機能の処理を改善するための互換モードもサポートしています。

于 2013-02-27T14:03:19.743 に答える