Size: a a a

2020 September 22

2_

2flower _ in sql_ninja
вам надо написать проще

SELECT DEPARTMENT.name,
      location.regional_group
FROM DEPARTMENT
JOIN LOCATION
  ON department.location_id = location.location_id
JOIN EMPLOYEE E
  ON E.department_id = DEPARTMENT.department_id
GROUP BY
DEPARTMENT.name,
      location.regional_group
HAVING max(case when e.manager_id=e.employee_id then e.salary else 0 end)>max(case when e.manager_id<>e.employee_id then e.salary else 0 end)+1500
источник

2_

2flower _ in sql_ninja
или еще лучше

SELECT DEPARTMENT.name,
      location.regional_group
FROM DEPARTMENT
JOIN LOCATION
  ON department.location_id = location.location_id
where exits (select 1 from EMPLOYEE E
  where E.department_id = DEPARTMENT.department_id
HAVING max(case when e.manager_id=e.employee_id then e.salary else 0 end)>max(case when e.manager_id<>e.employee_id then e.salary else 0 end)+1500
)
источник

A

Arina in sql_ninja
Ох, сложно как/то
источник

КМ

Кирилл Моисеенков... in sql_ninja
Это для универа?
источник

A

Arina in sql_ninja
Да
источник

К

Какой-то Хмырь... in sql_ninja
2flower _
или еще лучше

SELECT DEPARTMENT.name,
      location.regional_group
FROM DEPARTMENT
JOIN LOCATION
  ON department.location_id = location.location_id
where exits (select 1 from EMPLOYEE E
  where E.department_id = DEPARTMENT.department_id
HAVING max(case when e.manager_id=e.employee_id then e.salary else 0 end)>max(case when e.manager_id<>e.employee_id then e.salary else 0 end)+1500
)
а почему ты так сравниваешь?

e.manager_id=e.employee_id
источник

A

Arina in sql_ninja
2flower _
или еще лучше

SELECT DEPARTMENT.name,
      location.regional_group
FROM DEPARTMENT
JOIN LOCATION
  ON department.location_id = location.location_id
where exits (select 1 from EMPLOYEE E
  where E.department_id = DEPARTMENT.department_id
HAVING max(case when e.manager_id=e.employee_id then e.salary else 0 end)>max(case when e.manager_id<>e.employee_id then e.salary else 0 end)+1500
)
Можно как-нибудь проще, нет?
источник

T

Timus in sql_ninja
опять за юных студентов решаете задания?)
источник

DI

Dmitriy Ivanov in sql_ninja
Timus
опять за юных студентов решаете задания?)
Наоборот, я пытаюсь чтобы девушка почитала, вникла так сказать в суть вопроса.
Кстати как удалось выяснить в задаче  нужно рекурсию юзать, т.к. один менеджер может быть руководителем другого менеджера
источник

T

Timus in sql_ninja
Dmitriy Ivanov
Наоборот, я пытаюсь чтобы девушка почитала, вникла так сказать в суть вопроса.
Кстати как удалось выяснить в задаче  нужно рекурсию юзать, т.к. один менеджер может быть руководителем другого менеджера
ну это ты. а кто-то уже и код кидает...
источник

DI

Dmitriy Ivanov in sql_ninja
Timus
ну это ты. а кто-то уже и код кидает...
зря конечно, так и уйдет отсюда без понимая того что там написано. Вряд ли такого результата хотел препод
источник

T

Timus in sql_ninja
Dmitriy Ivanov
Наоборот, я пытаюсь чтобы девушка почитала, вникла так сказать в суть вопроса.
Кстати как удалось выяснить в задаче  нужно рекурсию юзать, т.к. один менеджер может быть руководителем другого менеджера
может там и не нужна рекурсия? а просто берем главного менеджера по отделу и от этого пляшем.
источник

DI

Dmitriy Ivanov in sql_ninja
Timus
может там и не нужна рекурсия? а просто берем главного менеджера по отделу и от этого пляшем.
в соседнем отделе может быть руководитель руководителя и т.д.
Но мы не знаем уровень вложенности таких руководителей, если был бы один по отделу то можно просто групернуть и делов, но так не работает когда нам надо учитывать, что у него есть еще руководитель.
источник

T

Timus in sql_ninja
Dmitriy Ivanov
в соседнем отделе может быть руководитель руководителя и т.д.
Но мы не знаем уровень вложенности таких руководителей, если был бы один по отделу то можно просто групернуть и делов, но так не работает когда нам надо учитывать, что у него есть еще руководитель.
да все может быть.
кмк, девушке решить бы простую задачу для начала. не рассматрия кучи вариантов. потом уже накручивать условия.
источник

DI

Dmitriy Ivanov in sql_ninja
Timus
да все может быть.
кмк, девушке решить бы простую задачу для начала. не рассматрия кучи вариантов. потом уже накручивать условия.
Она мне в личку писала, я выяснял :)
источник

T

Timus in sql_ninja
Dmitriy Ivanov
Она мне в личку писала, я выяснял :)
что-то вот на это похоже данная задача https://habr.com/ru/post/461567/
источник

DI

Dmitriy Ivanov in sql_ninja
да это оно :)
источник

DI

Dmitriy Ivanov in sql_ninja
Ты мастер гугла!
Таблица Employees. Получить список сотрудников у которых менеджер получает зарплату больше 15000.
источник

DI

Dmitriy Ivanov in sql_ninja
но тут в решении как раз нет условия, что менеджер может быть начальником другого менеджера.
А я ведь е нее спрашивал
источник

DI

Dmitriy Ivanov in sql_ninja
SELECT *
 FROM employees
WHERE manager_id IN (SELECT employee_id
                       FROM employees
                      WHERE salary > 15000)
источник