Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да:съпоставите (пространство за търсене) срещу (присъединете се с колона от друга таблица)

Изглежда, че трябва да използвате съвпадащ израз FULLTEXT във вашето условие за присъединяване.

Никога не съм използвал пълнотекстово съвпадение в условие за присъединяване, така че не съм сигурен, че това ще работи, но хипотетично това може да го направи:

SELECT DISTINCT c.*
FROM corpuses c JOIN searches s 
  ON (MATCH(c.title, c.body) AGAINST (s.term));

Добре, пробвах го с помощта на вашите дефиниции на таблици и някои примерни данни от ръководството за MySQL. Ето една заявка, която работи (тествана с MySQL 5.1.30):

SELECT *
FROM corpuses 
WHERE MATCH(title, body)
  AGAINST ( (SELECT GROUP_CONCAT(term SEPARATOR ' ') FROM searches) 
    IN BOOLEAN MODE);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да създам индекс на подниз на колона?

  2. Имам нужда от помощ за завършване на това динамично падащо меню от 3 нива

  3. PHP MYSQL INSERT помага без грешки

  4. Как да разделите низ в MySQL

  5. Извличане на всички редове въз основа на заявката в масив