powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Прошу помочь с запросами
9 сообщений из 9, страница 1 из 1
Прошу помочь с запросами
    #39792953
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имел дело с MS SQL довольно давно. А тут подкинули задачу и не знаю с какой стороны за неё браться.

Есть таблица заказов. В ней заказчики и даты оформления.
Надо посчитать интервалы между заказами для каждого заказчика (в днях, если кому интересно).
И всё это на запросах. (Если возможно)

Просто не знаю с чего начинать.


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Прошу помочь с запросами
    #39792975
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss,

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

Делаю SELECT с сортировкой по коду заказчика и дате заказа. Глазами вижу, а как это прописать - не знаю.

Надо из даты следующего заказа вычесть предыдущий для каждого конкретного заказчика.

Вообще дикие мысли в голову лезут.

Взять два моих запроса и объединить их по коду заказчика. и добавить расчётное поле - разность дат из первого и второго запроса.

Потом сделать выборку из полученного "шедевра". Там где разность 0 -основная запись., к ней добавить запись с минимальным положительным значением разности дат.

Такая идея сработает?
...
Рейтинг: 0 / 0
Прошу помочь с запросами
    #39793011
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

какая версия сервера ?
...
Рейтинг: 0 / 0
Прошу помочь с запросами
    #39793023
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MS SQL Server 2005

Но знаете, хотя моя идея и выглядит по идиотски, но результаты для дальнейшего анализа она дала.

Получилось три поля: код заказчика, дата заказа, число дней до следующего заказа.

Ну должен же быть какой-то нормальный метод расчёта?
...
Рейтинг: 0 / 0
Прошу помочь с запросами
    #39793026
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss,

Если понятно, но КАК не знаешь, то пора взяться за учебники.

Привели бы ваши запросы, что не получается? А то сразу версию сервера спрашивают!
...
Рейтинг: 0 / 0
Прошу помочь с запросами
    #39793031
Wlr-l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossMS SQL Server 2005

Но знаете, хотя моя идея и выглядит по идиотски, но результаты для дальнейшего анализа она дала.

Получилось три поля: код заказчика, дата заказа, число дней до следующего заказа.

Ну должен же быть какой-то нормальный метод расчёта?

Пока идеи у вас нет.

Сначала получите код заказчика, дата заказа, дата предыдущего заказа.

Если это сделать не сможете, то дальше идти смысла нет.
...
Рейтинг: 0 / 0
Прошу помочь с запросами
    #39793033
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А prev_value разве не поможет?
...
Рейтинг: 0 / 0
Прошу помочь с запросами
    #39793053
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossMS SQL Server 2005

плохо, конечно, но не смертельно :)

JossЕсть таблица заказов. В ней заказчики и даты оформления.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
select
  a.заказчик
  ,a.[дата оформления]
  ,c.[дата оформления] as [дата пред заказа]
  ,datediff(day, c.[дата оформления], a.[дата оформления]) as [интервалы между заказами для каждого заказчика (в днях, если кому интересно)]
from [Есть таблица заказов] a
outer apply (select top 1 b.[дата оформления] from [Есть таблица заказов] b 
             where a.заказчик=b.заказчик and a.[дата оформления]>b.[дата оформления] order by b.[дата оформления] desc) c
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Прошу помочь с запросами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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