SELECT t.id_parent,
t.id,
t.description
FROM CHILD t
JOIN CHILD p ON p.id_parent = t.id_parent AND p.description = 'Programmer'
JOIN CHILD s ON s.id_parent = t.id_parent AND s.description = 'Surgery'
Исходя из вашего SQL, вам нужно использовать:
SELECT p.ID,
c.ID,
c.ID_SpecMatrix
FROM Parent p
JOIN Child c ON p.ID = c.ID_Parent AND c.ID_SpecMatrix = 4
JOIN Child c2 ON p.ID = c2.ID_Parent AND c2.ID_SpecMatrix = 5
GROUP BY p.ID,
c.ID,
c.ID_SpecMatrix
Ключ присоединяется к дополнительным копиям таблицы CHILD. ID_parent
to ID связывает записи вместе; AND фильтрует эту копию таблицы CHILD, чтобы она содержала только те строки, где ID_SpecMatrix
соответствует вашим критериям.
В запросе необходимо использовать динамический SQL, чтобы его можно было масштабировать до любого количества критериев, которые вы хотите использовать.