I've got sample data in database:
id (int)   name (varchar)           parts (varchar)
1          some_element             wheel, bearing, hinge, servo
2          another_element          bearing, servo, lift
3          third_element            motor, wire
I want to filter results by parts. For example: I'm typing wheel, servo - no results
I'm typing wheel, bearing, servo, hinge - returns some_element record
I'm typing bearing, servo, lift, wheel, bearing, hinge - it returns some_element and another_element
How to construct SQL query? Is there any other data type better for parts field?
                        
Do some normalization so that you can write queries more easily and won't have such anomalies.
You'll need another structure, like:
The
elementtableThe
parttableAnd another, such as
element_partsto connect the other two by an m:n relationAnd now you can write a query to, say, filter elements that contain (or need)
wheelandservo(adapting this question's accepted answer):