Du skal tilføje et prædikat for hver navn/værdikombination:
SELECT <whatever you need>
FROM Entity_Table et
WHERE et.e_name = 'Joe'
AND EXISTS (SELECT 1
FROM AttributeValue_Table avt
JOIN Entity_AttrVal ea ON ea.e_id = et.e_id
WHERE ea.a_id = avt.av_id
AND avt.prop_name = 'color'
AND avt.prop_value = 'black')
AND EXISTS (SELECT 1
FROM AttributeValue_Table avt
JOIN Entity_AttrVal ea ON ea.e_id = et.e_id
WHERE ea.a_id = avt.av_id
AND avt.prop_name = 'whiskers'
AND avt.prop_value = 'short')
(Jeg beklager, hvis min SQL Server-dialekt skinner igennem)
For at lave et vilkårligt antal sammenligninger, skal du generere SQL'en og udføre den.
Som sagt i en kommentar viser dette, at EAV er en smerte (et anti-mønster, virkelig), men jeg ved af erfaring, at nogle gange er der simpelthen ikke noget alternativ, hvis vi er bundet til en relationel database.