|
|
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
Добрый день , помогите пожалуйста , пол дня уже убил на выявление ошибки . Вот запрос который должен вычислить сотрудников которые сменили место работы внутри компаний в определеный день . Запрос в процедуре , процедура в джобе . Эти данные пишутся в файлик а файлик посылается нужным людям , не важно. Последнее время жалуются что файл пустой , хотя переводы рабочих были. Пытаюсь запустить запрос за вчерашний день и получаю ora-01427 . Запрос Код: 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. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. Все это писал не я , но разобраться поручено мне . Буду рад за любые наводки . Спасибо . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:04 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104 пол_дня уже убил на выявление ошибки.Выявил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:10 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104Буду рад за любые наводки . На водку можно заработать, прочитав текст ошибки: подзапрос возвращает более одной строки. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:12 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
dmdmdm, Правильно , но какой подзапрос ? Как починить/излечить запрос ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:13 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104Правильно , но какой подзапрос ? Надо найти. maverick2104 Как починить/излечить запрос ? Смотря что надо по логике работы. Исправить данные, если в этом месте всегда должна быть 1 строка в результате запроса, либо исправить запрос. Например, использовать агрегирующие функции, или вместо = написать in (...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:16 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
Судя по "and rownum = 1", уже были попытки исправить, и попытки кривые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:17 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
dmdmdmСмотря что надо по логике работы. Исправить данные, если в этом месте всегда должна быть 1 строка в результате запроса, либо исправить запрос. Например, использовать агрегирующие функции, или вместо = написать in (...). В результате не должна быть одна 1 строка . Пробовал вместо = , in , такая же беда . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:18 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104В результате не должна быть одна 1 строка . Пробовал В in (...) может быть не одна строка. В select (select) - должна быть одна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:23 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104, сделайте меня это развидеть... в каждый select (select ) ставишь свой rownum =1 и по одному убираешь - тупо, но гарантированно найдёшь более правильно - проанализировать, что должен возвращать запрос и переписать его без подобных конструкций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:35 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
envmaverick2104, сделайте меня это развидеть... в каждый select (select ) ставишь свой rownum =1 и по одному убираешь - тупо, но гарантированно найдёшь более правильно - проанализировать, что должен возвращать запрос и переписать его без подобных конструкций Код ужасен , знаю . Спасибо вы мне помогли . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 11:43 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104, Увиденного не развидеть Может проще начать переписывать? А не просто добавлять костыли? Например: Код: 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. сокращенно запись выглядит так case Name_Podr23 = 'Echipa mobila' then вывести ближайший не 'Echipa mobila' else вывести перый так замени єтот блок сразу на : Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. т.е. он будет сразу искать первій ближайший не 'Echipa mobila' ,т.е. будет первая строка не 'Echipa mobila' он выведет ее иначе пойдет дальше искать Хоть строк в говнокоде будет меньше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 12:08 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104, У Вас надо искать человека у которого в 1 день есть более 1 записи в таблице paths: селект для поиска выглядит так Код: plsql 1. 2. 3. 4. Или, что моло вероятно, на 1 код 2 должности Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 12:33 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
MaximaXXLmaverick2104, У Вас надо искать человека у которого в 1 день есть более 1 записи в таблице paths: селект для поиска выглядит так Код: plsql 1. 2. 3. 4. Я первом делом это и проверил , но на вчерашний день 03/10/2018 нет одинаковых записей на 1 человека . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 12:47 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
maverick2104, А причем тут вчерашний? Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 13:11 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
MaximaXXLmaverick2104, А причем тут вчерашний? Код: plsql 1. 2. 3. 4. так ж max по любому вернет одну запись ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 14:45 |
|
||
|
Подзапрос и ORA-01427
|
|||
|---|---|---|---|
|
#18+
StaxMaximaXXLmaverick2104, А причем тут вчерашний? Код: plsql 1. 2. 3. 4. так ж max по любому вернет одну запись ..... stax Да, max вернет 1 запись и не обязательно ВЧЕРА. А посему надо искать дубли глубже чем вчера А по хорошему - надо переписівать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2018, 15:05 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39712961&tid=1883372]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
147ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 407ms |

| 0 / 0 |
