1

結合を使用して 2 つのテーブルを持つクエリに対して照合を行うことは可能ですか? トリッキーな部分はテーブルのインデックスかもしれませんが、方法があるかもしれません..SQLは私の得意分野ではありません。どうもありがとう。以下のようなものではないかと想像します。

SELECT * FROM 'pages' p
LEFT JOIN `tags` t
ON p.id = u.pageid
WHERE MATCH(p.shdescript,t.tag) AGAINST ('romance, relationship')

どうもありがとう

4

1 に答える 1

6

可能ですが、テキストインデックスが必要です。

mysql> alter table pages add fulltext index_text(shdescript);

mysql> alter table tags add fulltext index_text(tag);

SELECT * FROM 'pages' p
LEFT JOIN `tags` t
ON p.id = u.pageid
WHERE MATCH(p.shdescript,t.tag) AGAINST ('romance relationship')

私はそれがうまくいくのに十分だと思います。

編集:

MySQL 5.6以降、上記の全文検索はMyISAMおよびInnoDBストレージエンジンで実行できます。以前のMySQLバージョンでは、MyISAMテーブルのみがフルテキストインデックスをサポートしていました。

http://dev.mysql.com/doc/refman/5.6/en/fulltext-search.html

于 2012-05-30T20:29:25.560 に答える