|
|
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Приветствую всех. Дано: ASA 9.0.2.3546, PB 10.5.1.6684 и таблица рабочих дней недели. Для простоты привожу ее часть: .... 2007-09-19 00:00:00.000 2007-09-20 00:00:00.000 2007-09-21 00:00:00.000 2007-09-24 00:00:00.000 ..... wd_date является праймари, больше колонок в таблице нет. Нужно: из билдера написать запрос в таблицу с целью вытащить, например, дату 2007-09-24 00:00:00.000. Дата 2007-09-19 00:00:00.000 изначально известна и ей можно манипулировать как угодно. Заранее благодарен за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 15:05 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 15:13 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Уточню вопрос. Есть дата 2007-09-19 00:00:00.000 и некое число дней. В билдере есть функция Relativedate( date, days ), которая, естественно ничего про выходные в РФ не знает, но возвращает дату через столько то дней от данной. Вопрос: что нужно сделать, чтобы зная число дней и дату начала вырвать из таблицы дату, то есть, зная, что 3 дня и что 2007-09-19 00:00:00.000 вернуть из таблицы рабочих дней дату 2007-09-24 00:00:00.000? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 15:39 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
1. Можно перегнать все в DataStore 2. Можно добавить поле id в таблицу 3. Можно получить номер сторки в DB (@@row или @@rownum - или что-то в этом роде) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 16:14 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Riska, спасибо! Вариант 2, правда, сразу отпадает (вот такое уж начальство), хотя и является самым верным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 16:48 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
breathemзная, что 3 дня и что 2007-09-19 00:00:00.000 вернуть из таблицы рабочих дней дату 2007-09-24 00:00:00.000? Алгоритм такой - отфильтровать лишние даты <= начальной даты - отсортировать даты по возрастанию - пронумеровать даты - извлечь дату по номеру Другими словами ... Код: plaintext 1. 2. 3. 4. 5. А так как у Вас ASA9 который не поддерживает row_number то Вам надо искать его аналог. Может этот топик Вам поможет: http://www.sql.ru/forum/actualthread.aspx?tid=468736 Там есть про нумерацию строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 17:10 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky wrote: > А так как у Вас ASA9 который не поддерживает row_number то Вам надо > искать его аналог. Аналог в данной ситуации не очень полезен :). Но можно извратиться, например, вот так: select max(wd_date) from ( select top 3 wd_date from dba.wd where wd_date > '2007-09-19' order by wd_date ) as t ; Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 17:27 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Всем спасибо за ответы! Говорили же, ИД - святое! Так нет - давай изгаляться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 17:43 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Dim2000Но можно извратиться, например, вот так: select max(wd_date) from ( select top 3 wd_date from dba.wd where wd_date > '2007-09-19' order by wd_date ) as t ; Почему же извратиться? Вполне нормальное решение. А вот наличие в БД такой таблички и есть извращение :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 17:43 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Наличие такой таблички в системе может быть вполне необходимо, если ,например, в ней же хранить количество рабочих часов, признаки выходных дней и т.п.. Откуда база знает про предпраздничные дни и что в России отдыхают по десять дней подряд? :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 19:21 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
urvasНаличие такой таблички в системе может быть вполне необходимо, если ,например, в ней же хранить количество рабочих часов, признаки выходных дней и т.п.. Откуда база знает про предпраздничные дни и что в России отдыхают по десять дней подряд? :-))) Учитесь читать urvas. Наличие такой таблички, а не таблички ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 19:24 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
К чему столько агрессии, Филипп? На работе что-то не ладно, а пар некуда сбрасывать? Сделайте милость, будьте спокойней! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2007, 10:54 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
urvasНаличие такой таблички в системе может быть вполне необходимо, если ,например, в ней же хранить количество рабочих часов, признаки выходных дней и т.п.. Откуда база знает про предпраздничные дни и что в России отдыхают по десять дней подряд? :-))) Я бы хранил праздники, а не рабочие или выходные. Да еще и не дублировал бы из года в год, а только при изменениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2007, 11:54 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
Уж лучше таблицу со всеми днями и их статусами. Таблица праздников тоже не помешает, с датами начала и конца их действия. Я ещё хранил официальные названия праздников :-) и документы, которыми они были установлены. Таблица праздников использовалась при формировании основной таблицы на год. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2007, 12:50 |
|
||
|
Запрос в таблицу рабочих дней недели из PB10
|
|||
|---|---|---|---|
|
#18+
select t2.wb_date , (select count(1) from test t where t.wb_date <= t2.wb_date) as nr2 from test t2 where nr2 = <желаемая консанта : 2 > + ( select (select count(1) from test t where t.wb_date <= t1.wb_date) as nr from test t1 where t1.wb_date = < начальная дата : '2007-09-20' > ) можно офорить как VIEW ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 17:16 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=34811691&tid=1336967]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 160ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...