Select idпродукта from
(
Select idпродукта from table where
(Значение = 200 and Idатрибута = 2 ) or
(Значение = 10 and Idатрибута = 3) or
(Значение = "Ель" and Idатрибута = 1)
) t1
group by idпродукта
having count(idпродукта)>2
select *
from table t1
where `id attrbute` = 1
and Значение = "Ель"
and exists (select * from table t2
where t1.`id product` = t2.`id product`
and t2.`id attrbute` = 2 and t2.Значение = 200)
and exists (select * from table t3
where t1.`id product` = t3.`id product`
and t3.`id attrbute` = 3 and t3.Значение = 10)
select id from products as p
INNER JOIN productPropertys as type ON type.product_Id = p.id and type.value = 'ель'
INNER JOIN productPropertys as length ON length .product_Id = p.id and length .value = '200'
INNER JOIN productPropertys as someOtherProperty ON someOtherProperty .product_Id = p.id and someOtherProperty .value = '10'