Dies heißt Relational-Division
SELECT a.name
FROM parent a
INNER JOIN rel b
ON a.parent_ID = b.parent_ID
WHERE b.prop_id IN (1,5)
GROUP BY a.name
HAVING COUNT(*) = 2
AKTUALISIERUNG 1
if eindeutige Einschränkung wurde für prop_id
nicht erzwungen für jede parent_id
, DISTINCT
wird in diesem Fall benötigt.
SELECT a.name
FROM parent a
INNER JOIN rel b
ON a.parent_ID = b.parent_ID
WHERE b.prop_id IN (1,5)
GROUP BY a.name
HAVING COUNT(DISTINCT b.prop_id) = 2