Константин Цветков, У вас логическая ошибка во втором запросе после union, по вашему условию возраст должен быть одновременно меньше 20 и старше 25, что как вы понимаете по сути противоречие. Нужно использовать конструкцию через OR.
Подозреваю что количество потомков надо посчитать не только по нижележащим элементам, но и вообще всем потомкам в глубину. Если это так, то запрос выше тут не поможет. Если моё предположение не верно, то запрос подходящий, а если нет, то тогда есть 2 пути:
Если глубина заранее известна и конечна, то конечно можно использовать приведённый выше или модифицированный запрос на нужную глубину потомков
Если глубина заранее не известна, или уровней очень много, то придётся делать итеративный обход дерева средствами языка в котором используют MySQL
Данные у Вас вставляются в таблицу dbo.Employees и если связь c таблицей table1 однозначна и понятна из приведённого текста триггера, то между таблицами table1 и table2 она не ясна. А судя по представленному запросу вы хотите сделать каскадное изменение Employees -> table1 -> table2. Если станет известно, как связаны между собой table1 и tabl2 или Employees и table2, то сразу станет возможным посоветовать вариант реализации запроса решающий вашу задачу.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.