|
|
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94Хорошо, намёк я понял Я понял - это намёк, я всё ловлю на лету, но непонятно, что конкретно ты имело в виду? Это курсовая или тебе платят за время проведённое над задачей, а не за результат? Убери руки от клавиатуры и сформулируй свою задачу на бумаге так, чтобы ты мог её объяснить 12-летнему ребёнку. пока не получится - клавиатуру не трогай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 16:18 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
env, Я уже написал всю задачу ниже. Ещё раз, чётко и перефразировано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 16:20 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94Вот пример из другой функции. Здесь считает и о 1 января, и недели у него начинаются как должны начинаться в определённом году Код: sql 1. 2. 3. 4. 5. 6. Как мне здесь подобное изобразить? Код: sql 1. 2. Код: plsql 1. 2. 3. 4. 5. 6. 7. ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 16:35 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94Ещё раз, чётко и перефразировано. Не нашёл. Пока что общение идёт строго в духе : Задача ТС - построить будку собаке. ТС: Я слышал, что небоскрёбы можно строить из дерева [spoiler - на самом деле можно], поэтому я взял сосновую вагонку, осиновые колышки и ивовую кору, чтобы их связывать. Как связать колышек с доской, если у меня кора выскальзывает из рук? Форумчане: Что ты хочешь построить? Может стоит использовать кирпич или брёвна? Форумчане: В принципе, можно натереть руки песком, тогда кора будет меньше выскальзывать! ТС: "Что ты хочешь построить?" Я же сказал, я хочу связать доски с колышками! Корой! И от песка она уже почти не выскальзывает! Как мне теперь первые доски связать колышками?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 16:42 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
stax..Norman94Вот пример из другой функции. Здесь считает и о 1 января, и недели у него начинаются как должны начинаться в определённом году Код: sql 1. 2. 3. 4. 5. 6. Как мне здесь подобное изобразить? Код: sql 1. 2. Код: plsql 1. 2. 3. 4. 5. 6. 7. ..... stax Я так уже пробовал. Выпадает ошибка missing right parenthesis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 17:29 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
envNorman94Ещё раз, чётко и перефразировано. Не нашёл. Пока что общение идёт строго в духе : Задача ТС - построить будку собаке. ТС: Я слышал, что небоскрёбы можно строить из дерева [spoiler - на самом деле можно], поэтому я взял сосновую вагонку, осиновые колышки и ивовую кору, чтобы их связывать. Как связать колышек с доской, если у меня кора выскальзывает из рук? Форумчане: Что ты хочешь построить? Может стоит использовать кирпич или брёвна? Форумчане: В принципе, можно натереть руки песком, тогда кора будет меньше выскальзывать! ТС: "Что ты хочешь построить?" Я же сказал, я хочу связать доски с колышками! Корой! И от песка она уже почти не выскальзывает! Как мне теперь первые доски связать колышками?! Имеется таблица Отпуска со столбцами код сотрудника, год и 53 столбца, обозначающих недели в году. Выглядят как N1, N2 и т.д. Есть длинная динамическая функция (спасибо юзеру Максим), который динамически пробегает по столцам и вытаскивает только те, что имеют значения "о" (то есть отпуск). Причём, вытаскивает первую и последнюю неделю. Так же названия столбцов переименованы в числа и месяца в году в соответствии с положением недели. Однако нужно чтобы: 1. Если интервал - то начало - это число начала недели, а конец - воскресенье последней недели. 2. Нужно, чтобы выводились даты в соответствии с их годами. Например столбцы 19-22 в 2017 году - это 8 мая - 4 июня, а в 2016 году - 2 мая - 29 мая. Вот длинная функция. Здесь реализован лишь первый пункт, но только для 2017 года. А для последующих или предыдущих он выводит неверные даты. Код: sql 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. Помогите реализовать 2 пункт, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2017, 17:35 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94, Не хотите Вы включать мозг, как бы Вас тут не просили на протяжении почти 3 месяцев Я в Вашем коде не видел НИ ОДНОГО комментария (для себя любимого) не думаете а КАК оно работает ... а отвечаете в виде "а как мне подставить в мой недокод и сдать" Вы через неделю ту же задачу со смещением в 1 день не сможете написать, потому что это для Вас это магия, в которой Вам дали в руки маг полочку и сказали одно заклинание хотя пытались объяснить как эти заклинания строить. Вот Вам код, который должен выполнить то что сказал преподаватель, сдайте и забудьте ... Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2017, 10:27 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
MaximaXXL, Спасибо Вам! На самом деле мне реально интересно как оно работает, я даже спрашивал у вас об этом страницы 2 назад) Правда, расскажите пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2017, 11:00 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
MaximaXXL Код: plsql 1. Говнокодец. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2017, 11:55 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Elic, он идет корнями в прошлое, месяца 2 назад =) раньше было Код: plsql 1. но тогда я God перевел как Бог/Идол и подумаю что там храняться идентификаторы клиентов т.к. никогда не пользовал названия полей в транслите. потом осознав "свою" ошибку хотел переписать но увидел КАК его используют Код: plsql 1. 2. т.е. на вход идет таблица из 1 записи .... я немного растроился и в очередную правку просто выкинул нечитабельное (раздражаемое) поле God ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 08:27 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
MaximaXXLраньше былоА как же rt-tr? И зачем повышать энтропию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 08:37 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94, Неужели ты наконец-то согласился на запрос без динамики? Свершилось.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 09:36 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
env, Код: plsql 1. 2. 3. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 09:58 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
envNorman94, Неужели ты наконец-то согласился на запрос без динамики? Свершилось.. Нет, он его потом в динамику переписывает ElicА как же rt-tr? И зачем повышать энтропию? согласен, тогда правильнее так: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 10:00 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Станислав, я про 20466230 и предшествующее ТС даже не заикнулся, как обычно раньше, что ему нужна динамика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:01 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Станислав, а также сравни с предложенным ещё в марте 20305014 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:04 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
envСтанислав, а также сравни с предложенным ещё в марте 20305014 та я уже не знаю, что и сравнивать Вариантов предложили массу Тут вопрос скорее к преподавателю, мож он хочет заставить Нормана разобраться в запятих ps я яж теперь понял что ето лаба ...... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2017, 11:41 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
stax, пожалуйста, объясните подробнее эти строки. Мне чисто интересно узнать что в них происходит Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 07:34 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94stax, пожалуйста, объясните подробнее эти строки. Мне чисто интересно узнать что в них происходит Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 1) u.* берем все поля із u, наслидок моего лентяйства, правильно перечислять нужные поля 2)іщем понедельник (передыдущий понедельник) trunc (to_date(god||'0101', 'yyyymmdd')+(weeks-1)*7, 'iw') Код: plsql 1. 2. 3. 4. 5. но Код: plsql 1. 2. 3. 4. 5. но год вам Вам не подходит, поетому плевать на понедельник берем влоб первое число to_date(god||'0101', 'yyyymmdd') начиная со второй недели, надо всегда брать понедельники большую из дат (первое января и что там получится от Nxx) поетому greatest( 3) номеруем (можно было отсортировать и rownum) ,row_number() over (order by weeks) rn будет использоваться для поиска непрырывных интервалов (с хх по уу) где-то так если что-то непонятно написал, спрашивайте, исправлюсь ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 09:40 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
stax.., Ага, интересно. Но всё таки почему вы два раза d объявляете? Код: sql 1. 2. 3. 4. А про эти строки расскажите поподробнее, пожалуйста Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 09:58 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94Но всё таки почему вы два раза d объявляете? Norman94 Код: sql 1. 2. 3. 4. комментарий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 10:09 |
|
||
|
Дни отпуска
|
|||
|---|---|---|---|
|
#18+
Norman94stax.., А про эти строки расскажите поподробнее, пожалуйста Код: sql 1. 2. 3. 4. 5. 6. 7. 1) min(d) -начало интервала max(d)- конец интервала trunc(min(d),'y') первое января add_months(trunc(min(d),'y'),12) -первое января след года -1 -31 декабря текущего года trunc(max(d)+7,'iw') следующ понедельник -1 след возкресенье least мінімальное между 31 декабря и вычисленной датой (шоб интервал не оканчивался в первую неделю след года) to_char выводим токо день и месяц listagg в строку разделитель ; within group (order by min(d)) сортіруем по началу интервала 2) from w -из подготовленной выше для наглядности "вюшки" 3)group by god,kod_sotr,d-rn*7 god,kod_sotr лишнее, осталось от прямого селекта d-rn*7 для групировки, интервал меджду соседними/непрерывными записями 7 дней ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2017, 10:38 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39450634&tid=1885927]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
182ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 536ms |

| 0 / 0 |
