Search a content type fields based on user inputs
If you want result from a specific content type then user views with expose filter for search and filter it with the specific content type. 
Why do you need single table for all the fields, Either you can use join to fetch data from all the table. You should not write custom code for this kind of functionality best option is to alter the search query or user views with expose filter to provide this functionality.