Wat je hebt is een eigenschappentabel. Als je meerdere eigenschappen tegelijk wilt testen, moet je de tabel aan zichzelf koppelen:
SELECT c0.car_id
FROM table_cars AS c0
JOIN table_cars AS c1 ON c1.car_id=c0.car_id
JOIN table_cars AS c2 ON c2.car_id=c1.car_id
WHERE c0.name='MAKE' AND c0.value='FORD'
AND c1.name='COLOR' AND c1.value='SILVER'
AND c2.name='TOPSPEED' AND c2.value='200KM/H'
Het hebben van de surrogaat id
aanwezig in een eigenschappentabel is twijfelachtig. Het lijkt niets te doen; elke eigenschap is geen eigen entiteit. Tenzij de id
vereist is door een ander element, zou ik het verwijderen en car_id, name
. maken de primaire sleutel (een samengestelde primaire sleutel).