Всем привет!
Опять считаем чужие зарпалаты…
Нужно было определить сотрудников, зарплаты которых больше, чем зарплаты их менеджеров.
В таблице были даны ID всех сотрудников (и обычных, и руководителей). У каждого обычного сотрудника в графе ID менеджера стоит ID кого-то из первой колонки. У руководителей (менеджеров) в графе ID менеджера пусто.
Сначала, я не правильно понял задачу и нашел, кто получает больше всех менеждеров, попутно спутав менеджеров и обчных сотрудников. Но решение было красивым, и еще я познакомился с функцией .max()
На самом деле, нужно было найти сотрудников, чья зарплата больше их непосредственных руководителей
Для ответа на этот вопрос нужно было «соединить» таблицу саму с собой. В таком случае в одной строке будет и зарплата сотрудников и зарплата их менеджера. Эту операцию делал методом .merge(), с которым познакомился вчера или позавчера. Только тут нужно было объединять таблицу по разным столбцам (одну по графе ID менеджера, вторую по графе ID).
Дальше уже по «соединенной» таблице выставляем условия фильтрации и получаем результат.
Правда, результат нужно немножко привести в требуемую форму переназвав один столбец.
До скорого...