Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak:dopasować (spacja wyszukiwania) do (połączyć z kolumną z innej tabeli)

Wygląda na to, że w warunku dołączenia musisz użyć wyrażenia PEŁNOTEKSTOWEGO.

Nigdy nie używałem dopasowania pełnotekstowego w warunku złączenia, więc nie jestem pewien, czy to zadziała, ale hipotetycznie może to wystarczyć:

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

Dobra, próbowałem tego, używając definicji tabel i niektórych przykładowych danych z podręcznika MySQL. Oto zapytanie, które działa (testowane z 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. Przesunięcie bitowe w mysql

  2. Jak przechowywać datę i godzinę Java Date na Mysql za pomocą JPA?

  3. Railsy tworzące schema_migrations - Mysql2::Error:Określony klucz był za długi

  4. Jak edytować plik MySQL my.cnf?

  5. Jak dodać klucz podstawowy do tabeli MySQL?