|
|
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
В таблице U_TS, в столбце OPER_CODE поле "Прием", может повторяться нужно брать первый "Прием"(наверное нужно его отобрать по min(id). С таблицы U_TS надо сделать выборку чтобы получить результат как в таблице R_TS. Сначала идет группировка по дням ПЕРВОГО ПРИЕМА ПОСЫЛКИ. Пример1.Допустим 10.12.2018 было принято 2 POSYLKI(a1,b2) day0. день_приема. была вручена 1 POSYLKA из 2х. day0=(1*100)/2 = 50% day1. день_приема+1день. была вручена 1 POSYLKA из 2х. day1=(1*100)/2 = 50% day2.день_приема+2дней. не было вручений. если все посылки за 10.12.2018 уже вручены далее ставим просто 100%(day3 = 100%,day4 = 100%... и.т.д) Пример2.Допустим 12.12.2018 было принято 3 POSYLKI(c3,d4,e5) day0. день_приема. была вручено 0 POSYLKA из 3х. day0=(0*100)/3 = 0% day1. день_приема+1день. была вручена 1 POSYLKA из 3х. day1=(1*100)/3 = 33% day2.день_приема+2дней. было вручено 2 POSYLKA их 3х. day2=(2*100)/3 = 67% если все посылки за 12.12.2018 уже вручены далее ставим просто 100%(day3 = 100%,day4 = 100%... и.т.д) Пример3.Допустим 16.12.2018 было принята 1 POSYLKI(f6) day0. день_приема. была вручено 0 POSYLKA из 1х. day0=(0*100)/1 = 0% day1. день_приема+1день. была вручена 1 POSYLKA из 1х. day1=(0*100)/1 = 0% day2.день_приема+2дней. было вручено 2 POSYLKA их 1х. day2=(0*100)/1 = 0% day3.день_приема+3дня.было вручено 1 POSYLKA их 1х. day3=(1*100)/1 = 100% то есть если все посылки за 16.12.2018 уже вручены ставим просто 100%(day4 = 100%... и.т.д) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2018, 12:54 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
Студентам, желающим помощи http://www.bugtraq.ru/forum/faq/general/smart-questions.html] Как правильно задавать вопросы Мессир 1) Внятная постановка задачи, отчет в чем? инструмент то какой? 2) что хочешь получить 3) как пытался решить задачу 4) тестовые данные, в таком виде: Код: plsql 1. 2. 3. 4. 5. 6. 7. p.s. Используй ТЭГ SRC для оформления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2018, 12:58 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
Здесь помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2018, 12:59 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Код: plsql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2018, 13:06 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#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. 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. Идея понятна, если написать через case точно взлетит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2018, 21:13 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
Vadim Lejnin, Vadim Lejnin, спасибо вам большое за отклик, поле DT1 и CNT вы сделали правильно. но поля DAY1,DAY2,DAY3,DAY4,DAY5 считаются таким образом: пример1 DT1='10.12.2018' CNT=2 day1=полеCNT-(суммаВрученных посылок в тотже день(10.12.2018)) day2=полеCNT-(суммаВрученных посылок день + 1(11.12.2018)) day3=полеCNT-(суммаВрученных посылок день + 2(12.12.2018)) после того как все посылки вручены за 10.12.2018 он берет просто поле CNT day4=полеCNT day5=полеCNT пример2 DT1='12.12.2018' CNT=3 day1=полеCNT-(суммаВрученных посылок в тотже день(12.12.2018)) day2=полеCNT-(суммаВрученных посылок день + 1(13.12.2018)) day3=полеCNT-(суммаВрученных посылок день + 2(14.12.2018)) после того как все посылки вручены за 15.12.2018 он берет просто поле CNT day4=полеCNT day5=полеCNT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2018, 08:47 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
sanzhar333, ТО ЕСТЬ ВОТ ТАКИМ ОБРАЗОМ))) пример1 DT1='10.12.2018' CNT=2 day1=суммаВрученных посылок в тотже день(10.12.2018) day2=суммаВрученных посылок день + 1(11.12.2018) day3=суммаВрученных посылок день + 2(12.12.2018) после того как все посылки вручены за 10.12.2018 он берет просто поле CNT day4=полеCNT day5=полеCNT пример2 DT1='12.12.2018' CNT=3 day1=суммаВрученных посылок в тотже день(12.12.2018) day2=суммаВрученных посылок день + 1(13.12.2018) day3=суммаВрученных посылок день + 2(14.12.2018) после того как все посылки вручены за 15.12.2018 он берет просто поле CNT day4=полеCNT day5=полеCNT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2018, 08:49 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
sanzhar333вы сделали правильно. но поля DAY1,DAY2,DAY3,DAY4,DAY5 считаются таким образом:Скажи, куда ему прийти за твоей зарплатой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2018, 08:56 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
Elic, я только учусь) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2018, 09:04 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Вот таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2018, 09:40 |
|
||
|
ORACLE PL/SQL,ЗАПРОС
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2018, 15:14 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39746614&tid=1883039]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 256ms |
| total: | 515ms |

| 0 / 0 |
