0

我有一个表“BANKRECORDING”,它包含对不同表的 ID 引用。

该表存储在 H2 数据库中,我使用全文搜索方法。

例如,我有一个“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]

有人知道如何在这个查询中做 INNER JOIN 吗?

编辑 :

期望的输出:

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

1 回答 1

0

哦 !感谢安德鲁,我发现了它的工作原理!事实上,要显示数据,我们必须在 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 回答