1

a を使用しようとしていますが、 'd 列のMATCH AGAINST IN BOOLEAN MODEいずれにも「Nathan」が含まれていない行が返されます。MATCH()これが私の現在のクエリ形式です:

SELECT `some_rows` 
LEFT JOIN `t1` ON `stuff`
LEFT JOIN `t2` ON `stuff`
LEFT JOIN `t3` ON `stuff`
WHERE MATCH(`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)

3 つのテーブルはすべて行形式で使用MyISAMされDYNAMIC、テーブルと行の照合はすべて同じです。

誰かがこの問題に光を当てることができますか?

4

1 に答える 1

0

私は実際に私の質問に対する答えをここで見つけました。私の問題は(おそらく)、MATCH()あなたが許可されていないように見える複数のテーブルから列を作成しようとしていたことでした。クエリを次のように修正しました。

SELECT `some_rows` 
LEFT JOIN `t1` ON `stuff`
LEFT JOIN `t2` ON `stuff`
LEFT JOIN `t3` ON `stuff`
WHERE 
MATCH(`t1`.`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)
OR MATCH(`t2`.`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)
OR MATCH(`t3`.`some_rows`) AGAINST("Nathan" IN BOOLEAN MODE)

これが誰かに役立つことを願っています。

于 2013-02-21T19:42:42.547 に答える