powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как составить следующий запрос?
14 сообщений из 14, страница 1 из 1
Как составить следующий запрос?
    #39858038
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице NotWork хранится номер больничного листа (n_nwds), количество дней листа (days), номер больничного листа продолжением которого является этот лист (n_nwds_main_pe).

Нужно вычислить для больничных листов суммарное количество дней нетрудоспособности, включая все листы, продолжением которых является.

Больничный может быть без продолжения, а может образовываться длинная цепочка из больничных.

С помощью курсоров очень долго считает.
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858040
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Больничные образуют дерево. Так что CTE в руки.

Главный вопрос - гарантирована ли непрерывность листов? не бывает ли наложений или разрывов?
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858041
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seg856,

Recursive CTE
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858044
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще, если это стадия разработки, вместо (или в дополнение к) номера предыдущего храните номер первого больничного в цепи. Сильно упростите себе жизнь, пусть и ценой некоторого усложнения CHECK CONSTRAINT.
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858046
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, все бывает. Ничего не гарантировано. Может быть даже один больничный источником двух. Ввести могут что угодно.
Можно рассматривать только непрерывные цепочки, остальные игнорировать.
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858047
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,
программа не наша. Нужно запрос делать к чужой БД.
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858057
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
seg856Может быть даже один больничный источником двух. ...
Можно рассматривать только непрерывные цепочки, остальные игнорировать.И какую из цепочек тогда рассматривать?
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858077
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858078
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iiyama,

Обманул, пример D конечно
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858132
seg856
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, любую. Таких некорректных данных немного. Стопроцентной правильности не нужно.
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858140
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinaseg856Может быть даже один больничный источником двух. ...
Можно рассматривать только непрерывные цепочки, остальные игнорировать.И какую из цепочек тогда рассматривать?Вообще этот вопрос не к программисту, а к другим людям (налоговой, бухгалтерии и т.д.)
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858236
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgэтот вопрос не к программисту, а к другим людям (налоговой, бухгалтерии и т.д.)Но задать их нужно. И это обязан сделать программист. А он сам в задаче плавает - "любую"!
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858633
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akinaalexeyvgэтот вопрос не к программисту, а к другим людям (налоговой, бухгалтерии и т.д.)Но задать их нужно. И это обязан сделать программист. А он сам в задаче плавает - "любую"!"Плавает в задаче" выражается в том, что он даёт какой то ответ на этот вопрос ("любую", или ещё какую то).
Правильный ответ не плавающего в задаче программиста: "не знаю, мне всё равно, какой алгоритм мне укажут, такой и реализую"
...
Рейтинг: 0 / 0
Как составить следующий запрос?
    #39858703
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgAkinaпропущено...
И какую из цепочек тогда рассматривать?Вообще этот вопрос не к программисту, а к другим людям (налоговой, бухгалтерии и т.д.)

Потом, на допросах программист научится и правильные вопросы задавать, и правильные ответы давать
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как составить следующий запрос?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]