powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос с непрерывной последовательностью
2 сообщений из 2, страница 1 из 1
Запрос с непрерывной последовательностью
    #39786272
abruptboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер.
Необходима помощь в написании 2 запросов в mssql с непрерывной последовательность.Совсем уже голову сломал. есть пару вариантов но воплотить в итоговый не могу.

Дана таблица: Которая содержит в себе информацию по товарам, по которым отсутствуют приходы со склада, где
ID- идентификатор записи
Day - дата
Art - идентификатор товара
Cntr- идентификатор склада
Qty - остаток

create table Table1 (ID integer,Day date,Art integer,Cntr integer,Qnty decimal(16, 3))

Необходимо: Запрос который покажет сколько непрерывно дней у ТП нет приходов на склад на каждую дату.
Вывести поля: дата, склад, товар, остаток, кол-во дней без прихода.
вариант:
Выводит кол-во дней без прихода, а надо на каждую дату чтоб считалось. К примеру 28.01 - 0,29.01 - 1., 30.01 -2 это для товара 88
%
Код: 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.
create table Table1 (ID integer,Day date,Art integer,Cntr integer,Qnty decimal(16, 3))

Insert into Table1 values
(1, '2018-01-28', 88, 8, 10.000),
(2, '2018-01-29', 88, 8, 15.000),
(3, '2018-01-30', 88, 8, 20.000),
(4, '2018-01-30', 11, 5, 15.000),
(5, '2018-01-29', 11, 5, 20.000),
(6, '2018-07-01', 88, 5, 15.000),
(7, '2018-07-02', 88, 5, 20.000),
(8, '2018-07-06', 88, 5, 25.000),
(9, '2018-07-04', 88, 5, 25.000);

WITH dates(date,day) AS 
(
    SELECT DISTINCT CAST(day AS DATE),day
    FROM Table1
),
groups as
(
    SELECT
      ROW_NUMBER() OVER (ORDER BY date) AS rn,
      dateadd(day, -ROW_NUMBER() OVER (ORDER BY date), date) AS grp,day
    FROM dates
)
SELECT
  COUNT(*) AS day,
  MIN(day) AS minDate,
  MAX(day) AS maxDate
FROM groups
GROUP BY grp
ORDER BY 1 DESC, 2 DESC




Также надо внести сюда другие данные для вывода
...
Рейтинг: 0 / 0
Запрос с непрерывной последовательностью
    #39786352
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
abruptboyнадо на каждую дату чтоб считалосьНу так сгенерируйте этот список дат в CTE да используйте его как опорный.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос с непрерывной последовательностью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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