2008-12-26 6 views
10

मैं table_a table_b table_c में कैसे खोज सकता हूं, जिसमें स्ट्रिंग के लिए यादृच्छिक संख्या कॉलम हैं?MySQL: किसी भी कॉलम में मौजूदा स्ट्रिंग के लिए एकाधिक टेबल कैसे खोजें

मैं जानता हूँ कि यह उचित एसक्यूएल नहीं है बल्कि यह की तरह कुछ होगा: SO समुदाय के लिए पहले से

SELECT * FROM users, accounts, something_else WHERE ->ANY COLUMN CONTAINS 'this_string'<- 

Ty

+0

देखें इस: http://winashwin.wordpress.com/2012/08/28/mysql-search/ –

उत्तर

29

उन तालिकाओं के सभी में स्ट्रिंग स्तंभों की सभी fulltext indexes जोड़ कर संघ परिणाम

select * from table1 where match(col1, col2, col3) against ('some string') 
union all 
select * from table2 where match(col1, col2) against ('some string') 
union all 
select * from table3 where match(col1, col2, col3, col4) against ('some string') 
... 
+0

@kiu बहुत शांत - थोड़ी देर के लिए इस जवाब की तलाश में गया अभी व। बस स्ट्रिंग होने की संख्या से परिणामों को कैसे ऑर्डर करना है, यह जानने की आवश्यकता है। मेरे मामले में, मैं एकाधिक तालिकाओं से कई क्षेत्रों में एक बुलियन खोज कर रहा हूं। केवल प्रासंगिकता द्वारा आदेशित परिणामों को प्राप्त करने के बारे में जानने की आवश्यकता है। –

संबंधित मुद्दे