私はテーブル構造を持っています:
- lnks(l_id,txt,url,name) - l_id は一意のリンク ID です
- kws(wrd, kw_id) - 辞書として、wrd は単語、id は一意
- kwds0..kwds21 - 単語、リレーション kws.kw_id->lnks.l_id (keyword(many))->link_ids
- 「単語 word2」の複数単語検索を行っています。単語テーブルのプレキーはコードで計算され、kwds12 と kwds13 として持っています。
- クエリ内のすべての単語を含むすべてのリンクを取得しようとします。'word1' はテーブル kwds12 にあります 'word2' はテーブル kwds13 にあります
SELECT
url,
name
FROM
lnks
INNER JOIN kwds12, kwds13
ON
lnks.l_id=kwds12.l_id
AND
lnks.l_id=kwds13.l_id
INNER JOIN kws
ON
kws.kw_id=kwds12.kw_id
OR
kws.kw_id=kwds13.kw_id
WHERE
kws.wrd='word1'
OR
kws.wrd='word2'
SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください
どうも