powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выбор минимальной даты которая меньше текущей даты, но больше предыдущей
7 сообщений из 7, страница 1 из 1
выбор минимальной даты которая меньше текущей даты, но больше предыдущей
    #40021833
Настя_Nastya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Помогите, пожалуйста с запросом:

Есть две таблицы:

Таблица продажи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Name	Data_prodazhi
Груши	08.08.2020
Яблоки	10.01.2020
Сливы	04.05.2020
Яблоки	21.03.2020
Груши	02.04.2020
Сливы	05.06.2020
Сливы	06.10.2020

Таблица поступления
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Name	Data_postuplenia
Яблоки	01.01.2020
Яблоки	08.01.2020
Яблоки	09.02.2020
Яблоки	11.03.2020
Груши	01.04.2020
Груши	02.05.2020
Груши	06.05.2020
Груши	28.07.2020
Сливы	02.02.2020
Сливы	03.07.2020
Сливы	03.05.2020
Сливы	08.08.2020
Сливы	09.09.2020

как можно подтянуть к каждой позиции минимальную (первую) дату поступления в промежутке от предыдущей даты продажи определенного товара до текущей даты продажи:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Name     Data_prodazhi   Data_postuplenia
Груши	08.08.2020	02.05.2020
Яблоки	10.01.2020	01.01.2020
Сливы	04.05.2020	02.02.2020
Яблоки	21.03.2020	09.02.2020
Груши	02.04.2020	01.04.2020
Сливы	05.06.2020	03.05.2020
Сливы	06.10.2020	03.07.2020
...
Рейтинг: 0 / 0
выбор минимальной даты которая меньше текущей даты, но больше предыдущей
    #40021880
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настя_Nastya
как можно подтянуть к каждой позиции минимальную (первую) дату поступления в промежутке от предыдущей даты продажи определенного товара до текущей даты продажи :

нуу, а если нет поступлений "в промежутке от предыдущей даты продажи определенного товара до текущей даты продажи" ?
типа так
Настя_Nastya
Таблица поступления
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Name	Data_postuplenia
Яблоки	01.01.2019
Яблоки	08.01.2019
Яблоки	09.02.2019
Яблоки	11.03.2019
Груши	01.04.2019
Груши	02.05.2019
Груши	06.05.2019
Груши	28.07.2019
Сливы	02.02.2019
Сливы	03.07.2019
Сливы	03.05.2019
Сливы	08.08.2019
Сливы	09.09.2019
...
Рейтинг: 0 / 0
выбор минимальной даты которая меньше текущей даты, но больше предыдущей
    #40021939
Настя_Nastya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court, ну, соответственно, если в промежутке нет поступления - NULL
...
Рейтинг: 0 / 0
выбор минимальной даты которая меньше текущей даты, но больше предыдущей
    #40021962
Настя_Nastya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Name     Data_prodazhi   Data_postuplenia
Груши	08.08.2020	NULL
Яблоки	10.01.2020	NULL
Сливы	04.05.2020	NULL
Яблоки	21.03.2020	NULL
Груши	02.04.2020	NULL
Сливы	05.06.2020	NULL
Сливы	06.10.2020	NULL

Функция LAG не подходит - Power Query ругается на нее.
Делаю SQL запрос к базе SQL, MS Excel 2019 64x
...
Рейтинг: 0 / 0
выбор минимальной даты которая меньше текущей даты, но больше предыдущей
    #40022016
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настя_Nastya
Функция LAG не подходит
это делается через
Код: sql
1.
outer apply(select top 1 ... 


но ТЗ слишком "мутное", что бы ответить конкретнее,
а переспрашивать каждый "ньюанс" - нет желания
...
Рейтинг: 0 / 0
выбор минимальной даты которая меньше текущей даты, но больше предыдущей
    #40022022
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
select
 a.Name, a.Data_prodazhi, c.Data_postuplenia
from
 [Таблица продажи] a outer apply
 (select top (1) Data_prodazhi from [Таблица продажи] where Name = a.Name and Data_prodazhi < a.Data_prodazhi order by Data_prodazhi desc) b outer apply
 (select top (1) Data_postuplenia from [Таблица поступления] where Name = a.Name and Data_postuplenia between isnull(b.Data_prodazhi, '17530101') and a.Data_prodazhi order by Data_postuplenia) c;
...
Рейтинг: 0 / 0
выбор минимальной даты которая меньше текущей даты, но больше предыдущей
    #40022032
Настя_Nastya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
invm, спасибо, буду разбираться!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / выбор минимальной даты которая меньше текущей даты, но больше предыдущей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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