|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Задание: Сформируйте запрос, выводящий фамилии руководителей, у которых все подчиненные получают больше $2500 Таблица выглядит примерно так: Где Mgr это руководитель Empno Ename Mgr Sal ------- ------- ---- --- 7698 King 7839 2850 7782 Clrk 7839 1500 7566 Jones 7698 2975 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2021, 11:32 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Artem20012005, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.10.2021, 14:25 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
SY, у которых все подчиненные получают, а не только непосредственно имхо, надо строить иерархию ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2021, 08:55 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Stax, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2021, 21:31 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
exciter, приветствую :) Попробуем средствами ansi sql, предполагаю, что у самого верхнего нода (руководителя) mgr is null Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 09:34 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
ArchiSQL exciter, приветствую :) Попробуем средствами ansi sql, предполагаю, что у самого верхнего нода (руководителя) mgr is null Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Почему то здесь нахожу среднюю всех подчиненных, хотя в задании минимальная, исправляюсь. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 10:31 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
ArchiSQL, имхо, перемудрили можно банально в 22380976 заменить connect нa with ps и LVL > 1 ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 10:53 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Скрипты для создания (demobld.sql) и уничтожения (demodrop.sql) таблиц прилагаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 11:00 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Иерархия сотрудников (чтобы легче было проверять решения) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 11:12 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
SQL*Plus Иерархия сотрудников (чтобы легче было проверять решения) поставте скотту зп 500грн ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 11:35 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Stax ArchiSQL, ps и LVL > 1 ..... stax Имхо, что это условие лишнее, более того ошибочно, т.к. LVL = 1 имеют записи: 1. Самый высший нод, который мы отсекаем INNER JOIN EMP E ON E.EMPNO = R.MGR_ID 2. Те, у которых MGR_ID != EMPNO, их отсекать нельзя. Stax Вы не могли бы пояснить, что значит "connect нa with". Не совсем понял что Вы имели ввиду. Решение exciter корректное (если уж не придираться к CONNECT_BY_ROOT ENAME, а не CONNECT_BY_ROOT EMPNO, что абсолютно несущественно для логики), красивое и лаконичное, просто поскольку он его уже опубликовал, захотелось обойтись чистым sql без оракловых операторов :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 11:49 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
lvl вообще нужно убрать из запроса, чтобы не путало Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 11:52 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Stax SQL*Plus Иерархия сотрудников (чтобы легче было проверять решения) поставте скотту зп 500 И что? Будет у него оклад 500, но у всех его подчиненных больше 950. Так что всё нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 11:54 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
SQL*Plus Stax пропущено... поставте скотту зп 500 И что? Будет у него оклад 500, но у всех его подчиненных больше 950. Так что всё нормально. будет EXISTS, и в результат не попадет .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 12:57 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
ArchiSQL Вы не могли бы пояснить, что значит "connect нa with". иерария 22380976 построена ораклячим connect by ..., но ее можно и переписать через with + union all (Ваш вариант) ps я Ваш запрос не тестировал (лень данные набивать), проверте сами напр 1) когда начальник получает меньше оговореного (у скотт зп 500грн) 2) когда все работники получают больше оговореного и тд .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 13:08 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Stax SQL*Plus пропущено... И что? Будет у него оклад 500, но у всех его подчиненных больше 950. Так что всё нормально. будет EXISTS, и в результат не попадет Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Всё нормально. SCOTT попадает в результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 13:11 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
SQL*Plus Всё нормально. SCOTT попадает в результат. понял, был неправ не учел, что иерархия на уровень выше .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 13:17 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Stax ps я Ваш запрос не тестировал (лень данные набивать), проверте сами Для самых ленивых приложен скрипт для создания классической демо-схемы Oracle. 22381098 :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 13:26 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 14:02 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
SY, только кинг получает < xxx ps +nvl ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 14:39 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Stax SY, только кинг получает < xxx ps +nvl [spoiler] А теперь, Федя, скажи Васе все, что ты ему сказал раньше, нормально - на гражданском языке ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 14:48 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
[quote=SQL*Plus] [spoiler] А теперь, Федя, скажи Васе все, что ты ему сказал раньше, нормально - на гражданском языке ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 15:39 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
[quote=Stax] [quote=SQL*Plus] [spoiler] А теперь, Федя, скажи Васе все, что ты ему сказал раньше, нормально - на гражданском языке ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 15:58 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
Stax Все на предприятии получают ЗП больше 950, кроме Кинга у которого ЗП 500грн Понял. NULL надо превращать несуществующий EMPNO: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 16:02 |
|
Учу подзапросы и никак не могу понять в каком порядке составить данный запрос.
|
|||
---|---|---|---|
#18+
SQL*Plus Попробуйте более внятно ещё раз. Stax намекнул на куда делся президент : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
SY. P.S. Кстати весьма реальная ситуация (у нас во всяком случае) когда президент компании назначает себе оклад в $1. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2021, 16:09 |
|
|
start [/forum/topic.php?fid=52&msg=40103094&tid=1879838]: |
0ms |
get settings: |
18ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
40ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
424ms |
get tp. blocked users: |
0ms |
others: | 2438ms |
total: | 2932ms |
0 / 0 |