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. दो क्षेत्रों पर क्वेरी द्वारा Django अलग समूह

  2. MySQL वर्कबेंच एरर 1175 व्हेयर स्टेटमेंट के साथ भी

  3. MySQL में UTF8 वर्णों को संग्रहीत नहीं कर सकता

  4. SQL क्वेरी परिणाम में किसी अन्य तालिका से एकाधिक चर बदलें

  5. MySQL डेटाबेस में एक BLOB मान डालें