how to search all fields for a string in SQL ?

Using SQL or activerecord I am not sure how to search all fields for a specific value ? I know how to do this by just writing ruby code. To do it in SQL or an activerecord find w/condition, I don't know how. I actually am supposed to combine an find w/ condition and a search all fields for a value and AND those together. I think perhaps it can't be done with a single find ?

wbsurfver@yahoo.com wrote:

Using SQL or activerecord I am not sure how to search all fields for a specific value ? I know how to do this by just writing ruby code. To do it in SQL or an activerecord find w/condition, I don't know how. I actually am supposed to combine an find w/ condition and a search all fields for a value and AND those together. I think perhaps it can't be done with a single find ?

What you're probably looking for is a full-text search engine. Here's an article I found using the Sphinx engine:

http://www.neeraj.name/blog/articles/599-working-with-sphinx-fulltext-search-engine-using-ultrasphinx

If you needs are pretty basic and you don't mind a database specific implementation you can also look at MySQL's full-text search capabilities. SQL was just not designed for such queries.

I would suggest going with the thinkingsphinx plugin instead of ultrasphinx. Thinkingsphinx's syntax is much cleaner.

http://ts.freelancing-gods.com/usage.html

On the other hand, if your dataset is small enough, you could try scoped-search, which helps you construct the SQL to perform your searches: http://wiki.github.com/wvanbergen/scoped_search But as Robert said, databases/SQL are not great for this type of queries and you may not be able to scale much when you have many conditions and/or big volumes of data.