It's a good start, but as you add more elements to your where clause, it will get slower and slower.
Beside, a filtering on a varchar field (the "like" predicat) cannot use indexes if you start to pattern with '%', so it will need to read each lines of your table to find the corresponding elements.
You better know that from the start.
Sometimes, using an union query might be better, as the query gets more complicated the more you extends your search to more and more fields:
Code:
select
tblproduct.id,
tblproduct.title,
tbldetail.price,
tbl detail.id,
tblpdf.id,
tblpdf.pdf
from tblproduct,tblpdf,tbldetail
where tblproduct.id = tbldetail.id
and tblproduct.title like '%&querystring%'
union
select
tblproduct.id,
tblproduct.title,
tbldetail.price,
tbl detail.id,
tblpdf.id,
tblpdf.pdf
from tblproduct,tblpdf,tbldetail
where tblproduct.id = tbldetail.id
and tbldetail.origin like '%country%'
An union is simply several different queries, that all return the same type and amount of column that are added each to the other.
2 more things:
1) In a case like this country search I improvised, you can speed it up a lot by giving a predefined list of countries to your search pages, and use it's reference (iso abbreviation, number..) rather than doing a wildcard search on the varchar value.
2) Take care of sql injection. When I see %&querystring% in your original query, I fear that you take the input of the user without validating it.
If it's the case, it could interfere with your database badly.
http://xkcd.com/327/