sql - Combine Columns with same ID and search the data -
i have table (tblabc) looks like
------------------------------- basicid   | filter1 | filter2 | -------------------------------  100          1         2  100          3         4  101          8         9   what want on - want select basicid has filter1=1 , filter2=4. ie want output 100
can create view of combining basicid. looks similar
-------------------------------- basicid   | filter1|  filter2 | --------------------------------  100          1,3         2,4  101          8            9   once done can search using simple search query 
 'select basicid tblnewlycreatedtable filter1=1 , filter2=4' , output 100. 
to solve issue have tried following methods of have failed me not efficient because have around 12 filter filter on. not of filter applied time, @ times 4 filters, @ times 2 , @ time 12.
- select * tblabc
, basicid in ( select basicid tblabc
filter1 in (1) ) , basicid in ( select basicid tblabc
filter2 in (4) ) 
2. using select finding results individually filter1 , filter2 using intersect intersect them.
 1 more question have creating table filter fields varchar instead of int , searching on text good? advised many avoid this, cause efficiency problem. filtering on 12 varchar fields in same select query more efficient than, calling 12 select queries on int fields , combining them???
for mysql
select basicid,  group_concat(filter1 order filter1 asc separator ', ') filter1, group_concat(filter2 order filter2 asc separator ', ') filter2 tblabc group basicid      
Comments
Post a Comment