2013-02-08 50 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; 

我不知道为什么我们不能要求元素...