I have a following table structure.
USERS
PROPERTY_VALUE
PROPERTY_NAME
USER_
If I understand your question correctly I would do it like this.
SELECT u.id, u.user_name, u.city FROM users u
WHERE (SELECT count(*) FROM property_value v, user_property_map m
WHERE m.user_id = u.id AND m.property_value_id = v.id AND v.value IN ('101', '102')) = 2
This should return a list of users that have all the properties listed in the IN clause. The 2 represents the number of properties searched for.