Bir dize için rasgele bir sayıda sütun içeren table_a table_b table_c
içinde nasıl arama yapabilirim? Daha sonra,MySQL: Herhangi bir sütunda bulunan bir dize için birden çok tablo nasıl aranır?
10
A
cevap
29
bu tablolarda tüm dize sütunların tümüne fulltext indexes ekle SO toplum için şimdiden
SELECT * FROM users, accounts, something_else WHERE ->ANY COLUMN CONTAINS 'this_string'<-
Ty:
Bu doğru sql olmadığını biliyoruz ama böyle bir şey olurdu sendika sonuçları
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 Çok serin - bir süredir bu cevap arıyordum şimdi. Sadece sonuçların dizinin kaç kere oluştuğunu bilmeniz gerekir. Benim durumumda, birden çok tablodan birden çok alanda bir boolean araması yapıyorum. Sadece alaka düzeyine göre sıralanan sonuçları nasıl alacağımı bilmem gerekiyor. –
bakın bu: http://winashwin.wordpress.com/2012/08/28/mysql-search/ –