Select parent if all children meet criteria
You can use NOT EXISTS
SELECT id FROM Parent pWHERE NOT EXISTS( SELECT 1 FROM Child c WHERE c.parent_Id = p.id AND c.x <> c.y)
Edit: Here's the sql-fiddle: http://sqlfiddle.com/#!3/20128/1/0
Should join 2 tables first because the parents does not have children that will satisfy
And should add index for pa_id column
SELECT DISTINCT pa.id FROM pa INNER JOIN c ON c.pa_id = pa.id WHERE NOT EXISTS ( SELECT 1 FROM c WHERE c.parent_Id = p.id and c.x <> c.y )
This is what you need?
select id from parent where id not in( select parent_id from child where x<>y group by parent_id)