Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос с непрерывной последовательностью / 2 сообщений из 2, страница 1 из 1
14.03.2019, 21:49
    #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
15.03.2019, 07:42
    #39786352
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос с непрерывной последовательностью
abruptboyнадо на каждую дату чтоб считалосьНу так сгенерируйте этот список дат в CTE да используйте его как опорный.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос с непрерывной последовательностью / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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