2017-02-02 4 views
0

to_tsvector言語(「フランス語」など)を設定して、FTSベクトルをレンダリングするときに適切な辞書を使用するようにします。* from to_tsvector - テーブルの結合

表メッセージにはlocale_idという列があり、これはlocales表にあります。次に、localesテーブルをlocale_idのlanguagesテーブルに結合して、実際の言語名を取得する必要があります。

select * from to_tsvector(t3.language, t1.message) 
inner join message as t1 
inner join locales as t2 on (t1.locale_id = t2.id) 
inner join languages as t3 on (t2.language_id = t3.id); 

ERROR: syntax error at or near ";" LINE 1: ....id)

inner join languages as t3 on (t2.language_id = t3.id);

答えて

0

新しいコード:

select to_tsvector(t3.language, t1.message) 
from message as t1 
inner join locales as t2 on (t1.locale_id = t2.id) 
inner join languages as t3 on (t2.language_id = t3.id); 

オリジナルの修正:

select * from to_tsvector(t3.language, t1.message) 
inner join message as t1 on 1 = 1 /* an ON join criteria is mandatory here even if you are doing an implicit cross join */ 
inner join locales as t2 on (t1.locale_id = t2.id) 
inner join languages as t3 on (t2.language_id = t3.id); 
+0

http://stackoverflow.com/questions/からではなく、私はあいまいな;エラーを取得しています15508142/how-to-join-2-tables-on-on節では不要だと思ったのですが – Growler

+0

エラー ''テーブルのFROM節項目がありません」t3 "' – Growler

+0

@GrowlerはおそらくMySQLでは、しかしほとんどのSQL方言ではそうではありません。 INNER JOINと言ったら、ON句が必要です。 (または、CROSS JOINを使用してください) –