Нужна помощь в следующем запросе

Вы можете легко сделать это в других базах данных с помощью рекурсивного запроса (YMMV на производительность).

Другой способ сделать это - сохранить два дополнительных бита данных, левый и правый стоимость. Левое и правое значение получены из предварительного предпросмотра древовидной структуры, которую вы представляете.

Это известно как измененный обход дерева предзаказов и позволяет запускать простой запрос, чтобы получить все родительские значения в один раз. Он также имеет название «вложенный набор».

-4
задан Hadi 3 March 2019 в 16:24
поделиться

1 ответ

Вы можете написать свой запрос следующим образом, чтобы получить зарплату сотрудника больше, чем зарплата менеджера.

Вы должны присоединиться к сотруднику и работать два раза, один для сотрудника и один для менеджера.

SELECT e.*,m.Ename as manager,  
FROM Employee e
    INNER JOIN Manages rel on e.ename = rel.empname
    INNER JOIN Employee m on m.ename = rel.manager_name
    INNER JOIN Works we on we.ename=e.empname
    INNER JOIN  Works wm on wm.ename=m.empname
WHERE we.salary > wm.salary
0
ответ дан Hadi 3 March 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: