0

テーブル「BANKRECORDING」があり、さまざまなテーブルへのID参照が含まれています。

このテーブルはH2Databseに保存されており、全文検索方式を使用しています。

たとえば、私はこの「BANKRECORDING」を持っています:

ID | ID_LIBELLE | ID_PAYMENT
1  | 2          | 3
2  | 2          | 10

簡単なクエリで、私の内部結合が機能します。しかし、このクエリでは、方法がわかりません:

SELECT B.* 
FROM FT_SEARCH_DATA(1, 0, 0) FT, 
BANKRECORDING B 
WHERE FT.TABLE='BANKRECORDING' AND B.ID=FT.KEYS[0] 

それは私のすべての結果を返しますが、IDを持っています...

私はこれを試しましたが、非常に多くの結果が返されます...データベースに格納されている要素ごとの行。

SELECT B.*, L.*, ET.*, P.*, MO.* 
FROM FT_SEARCH_DATA('car', 0, 0) FT, 
BANKRECORDING B, LIBELLE L, ETAT ET, PAYMENT P, MOTIF MO
WHERE FT.TABLE='BANKRECORDING' AND B.ID=FT.KEYS[0]

誰かがこのクエリで内部結合を行う方法を知っていますか?

編集 :

必要な出力:

ID | ID_LIBELLE | ID_PAYMENT
1  | car         | bank check
2  | car         | transfer
4

1 に答える 1

0

おー !Andrewのおかげで、それがどのように機能するかを見つけました!実際、データを表示するには、SELECTで各要素を指定する必要があります。

SELECT b.id, l.libelle, p.libelle
  FROM FT_SEARCH_DATA(1, 0, 0) FT, ENREGISTREMENT b
   JOIN LIBELLE l on (b.id_libelle = l.id)
   JOIN MODEREGLEMENT p on (b.id_MODEREGLEMENT = p.id)
 WHERE b.id=FT.KEYS[0]
 AND FT.TABLE='ENREGISTREMENT' 
ORDER BY b.id;

要素の「b。*」を呼び出せない理由がわかりません...

于 2013-02-08T17:06:16.680 に答える