मैं वर्तमान में दो तालिकाओं निम्नलिखित है:सर्च कर रहे हैं दो तालिकाओं
CREATE TABLE files_list
(
'listid' INT,
'name' VARCHAR(25),
'synonym' VARCHAR(25),
'description' VARCHAR(25)
);
CREATE TABLE files_tags
(
'tag_name' VARCHAR(25),
'listid' INT
);
कोई, कीवर्ड "ड्रैगन बॉल" का उपयोग करता है इस समय, मैं संभव मैचों के लिए my_list खोज करने के लिए क्वेरी निम्नलिखित का उपयोग करें:
SELECT *
FROM files_list
WHERE name LIKE '%dragon%'
OR synonym LIKE '%dragon%'
OR description LIKE '%dragon%'
OR name LIKE '%ball%'
OR synonym LIKE '%ball%'
OR description LIKE '%ball%'
मुझे यकीन नहीं है कि एक क्वेरी का उपयोग करके दोनों टेबलों को कैसे खोजा जाए। मैं उपयोगकर्ता को खोज परिणाम में डेटा के बाद दिखाना चाहता हूं: नाम, समानार्थी, विवरण और सभी टैग।
मेरे प्रश्न 1. क्या वर्तमान mysql क्वेरी को कम करने का कोई तरीका है? 2. से पंक्तियां दिखाने के लिए files_tags
में एक पंक्ति है, लेकिन files_list
में कोई मिलान नहीं है, तो files_tags
तालिका, के साथ मैं इसे कैसे जोड़ सकता हूं? - files_list
से पंक्तियां दिखाने के लिए जिसमें files_list, but may not in
files_tags` में एक मैच है?
http://stackoverflow.com/questions/394041, डुप्लिकेट पंक्तियों को पैदा करेगा जब आईडी प्रति एकाधिक टैग उपलब्ध हैं सुनिश्चित करेंगे/mysql-how-to-search-multiple-table-for-a-string-current-in-any-column इस प्रश्न को देखें आपका उत्तर वहां है :) – fmsf
[MySQL: संभावित स्ट्रिंग के लिए एकाधिक तालिकाओं को कैसे खोजें किसी भी कॉलम में मौजूद] (http://stackoverflow.com/questions/394041/mysql-how-to-search-multiple-tables-for-a-string-existing-in-any-column) – KindaTechy