powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите составить запрос
11 сообщений из 11, страница 1 из 1
Помогите составить запрос
    #32063944
a72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
a72
Гость
Исходные данные:
таблица
Покупатель__Товар___Дата палтежа___Сумма платежа

Необходимо:
Выбрать последнии покупки покупателя сумма которых меньше числа X


Буду очень признателен за любую помощь.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32063946
mad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Говорите точно,скока вешать" (с)

Сколько последних покупок надо получить?
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32063955
mad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покупатель__Товар___Дата платежа___Сумма платежа

select top [@N] * from table where [Дата платежа]>[@Начало периода] order by [Сумма платежа], [Дата платежа] desc

[@N], [@Начало периода] - параметры
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32063996
a72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
a72
Гость
Постораюсь сформулировать по точнее:

в таблице:

andrey__Сигареты__ 01.09.02__30р
andrey__Трусы_____02.09.02__10р
andrey__Майки_____03.09.02__30р
andrey__Конфеты___04.09.02__90р
andrey__Вода______05.09.02__20р
andrey__Сок_______06.09.02__30р

Необходимо выбрать последнии покупки покупателя сумма которых меньше 150 р
т.е.
andrey__Конфеты___04.09.02__90р
andrey__Вода______05.09.02__20р
andrey__Сок_______06.09.02__30р
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32064017
vics
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только 3(Сколько конкретно?) последние покупки со стоимостью <150р????
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32064027
a72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
a72
Гость
Имеется ввиду выбрать последние покупки, общая сумма которых не более 150р
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32064029
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
create table #t(mydate datetime, sum1 decimal( 10 , 2 ))

insert #t values('20020901',  30 )
insert #t values('20020902',  10 ) 
insert #t values('20020903',  30 ) 
insert #t values('20020904',  90 ) 
insert #t values('20020905',  20 ) 
insert #t values('20020906',  30 )


select a.mydate, max(a.sum1) as sum1, sum(isnull(b.sum1,  0 ))+max(a.sum1) as tot_sum
from #t a 
left outer join #t b on b.mydate > a.mydate
group by a.mydate having (sum(isnull(b.sum1,  0 ))+max(a.sum1)) <=  150 
order by a.mydate desc


drop table #t
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32064281
a72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
a72
Гость
А как быть если товары покупал еще и serg (т.е. в таблице есть покупки других людей) ?
Необходимо выводить не только дату и платеж но и покупателя и наименование товара.
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32064282
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну подумайте чуть-чуть

PS
Если до завтра н получится, то напишу
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32064297
a72
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
a72
Гость
Спасибо нашел решение. На самом деле все очень просто.

SELECT *
FROM orders a
WHERE a.client = 'andrey'
AND 150 > (SELECT SUM (b.sum_pay)
FROM orders b
WHERE b.client = 'andrey'
AND a.date_pay <= b.date_pay)
ORDER BY a.date_pay
...
Рейтинг: 0 / 0
Помогите составить запрос
    #32064325
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можете сранить, если интересно
Код: plaintext
1.
2.
3.
4.
select a.client, a.product, a.mydate, max(a.sum1) as sum1, sum(isnull(b.sum1,  0 ))+max(a.sum1) as tot_sum
from #t a 
left outer join #t b on b.mydate > a.mydate
group by a.client, a.product, a.mydate having (sum(isnull(b.sum1,  0 ))+max(a.sum1)) <=  150 
order by a.client, a.product, a.mydate
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите составить запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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