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
element
tableThe
part
tableAnd another, such as
element_parts
to connect the other two by an m:n relationAnd now you can write a query to, say, filter elements that contain (or need)
wheel
andservo
(adapting this question's accepted answer):