2013-02-08 15 views
0

我有一個表「BANKRECORDING」,它包含對不同表的ID引用。內部加入H2數據庫和全文搜索

該表存儲在H2 Databse中,我使用fulltextsearch方法。

比如我有個這個 「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] 

它返回我所有的結果,但與標識...

我已經試過這一點,但它返回這麼多的結果......一個按存儲在我的數據庫中的元素行。

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] 

有人知道如何做INNER JOIN在這個查詢?

編輯:

所需的輸出:

ID | ID_LIBELLE | ID_PAYMENT 
1 | car   | bank check 
2 | car   | transfer 
+0

您可以顯示所需的輸出「B *」。 ? – 2013-02-08 16:19:41

+0

Thx,請參閱我的編輯 – 2013-02-08 16:21:31

+0

將代碼示例翻譯成英文可能是一個好主意。有一個我們不明白的名字的數據模型有點難以推理。 – millimoose 2013-02-08 16:40:48

回答

0

哦!感謝安德魯我發現它是如何工作的!事實上,以顯示數據,我們必須在我們選擇指定的每個元素:

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; 

我不知道爲什麼我們不能要求元素...