![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите запрос [D5, Paradox]
john © (2004-04-26 15:25:00)Мастера, большая просьба, подскажите запрос.Есть таблица-{номер чека,позиция в чеке, сумма позиции в чеке}.Нужна максимальная сумма всего чека.Спасибо
Соловьев (2004-04-26 17:05:00) [1]Может так попоробовать, у меня почему-то БДЕ вываливается при таком запросе :)
select t.f1, sum(t.f2)
from table t
group by t.f1
having sum(t.f2) > all (select sum(t2.f2)
from table t2
where t2.f1 <> t.f1
group by t2.f1)
Johnmen (2004-04-26 16:59:00) [2]самый простой метод -
select sum(t.f2) s, count(distinct t.f1) c
from table t
и взять первую запись на клиенте и поделить s на c
Соловьев (2004-04-26 16:55:00) [3]
> john (26.04.04 16:51) [17]
помнится где-то полтора года назад кто-то из мастеров решил эту задачу с помощью SQL-92 но там надо как-то исхитрится с HAVING
Не помню и в голову не приходит как.
А по поводу среднего - не понятно. Опять максимальный?
john (2004-04-26 16:51:00) [4]Большое спасибо mr.Соловьев за идею, все сработало. А если найти не максимальный чек, а среднее значение чека среди множества чеков.Не будет ли у вас идеи по поводу этого вопроса?
Соловьев (2004-04-26 16:38:00) [5]самый простой метод -
select t.f1, sum(t.f2)
from table t
group by t.f1
order by 2 desc
и взять первую запись на клиенте
Johnmen (2004-04-26 16:27:00) [6]Да, вложенное агрегирование не идет... :)
Для локалскл вообще, видимо, придется извращаться...
Соловьев (2004-04-26 16:21:00) [7]
> SELECT номер чека, MAX(SUM(сумма позиции в чеке))
неужели LocalSQL - поддерживает такое?
john (2004-04-26 16:19:00) [8]johnmen на твой запрос SQL Explorer(я в нем пишу запросы) выдает ошибку - "Capability not supported", что делать?
john (2004-04-26 16:15:00) [9]johnmen на твой запрос SQL Explorer(я в нем пишу запросы)выдает ошибку - "Capability not supported", что делать?
john (2004-04-26 16:09:00) [10]johnmen твой зарос SQL EXPLORER выдает ошибку-"Capability not supported"
Johnmen (2004-04-26 15:59:00) [11]
SELECT номер чека, MAX(SUM(сумма позиции в чеке))
FROM ...
GROUP BY номер чека
sniknik (2004-04-26 15:52:00) [12]> Т.к. есть поле <сумма позиции в чеке>...
возможно что и нет, может ошибся, (по супермажной структуре в z отчете нет таблици с заголовками чеков..)
и кстати есть и максимальная сумма чека! (счас вспомнил), есть такая программа "мастеркасс" там можно делать частичную оплату (налом-карточкой-еще раз налом..., тут будет и максимальная сумма но только не чека а как бы одной проплаты)
john (2004-04-26 15:51:00) [13]Прошу прощение, неправильно сформулирован вопрос.Нужна максимально большая продажа(т.е чек),предположим из ста чеков
sniknik (2004-04-26 15:48:00) [14]> я думаю автор имел ввиду - сумму за конкретный товар
а, тогда вместо SUM надо MAX поставить. но вот про несколько позиций в одном, такое чаще запрещают. (политика чтобы не было махинаций) и скорее будет 5 записей с 1 товаром.
Johnmen (2004-04-26 15:47:00) [15]>я думаю автор имел ввиду - сумму за конкретный товар -
Я думаю, что нет. Т.к. есть поле <сумма позиции в чеке>...
sniknik (2004-04-26 15:45:00) [16]SELECT SHOPINDEX, CASHNUMBER, ZNUMBER, CHECKNUMBER, SUM(TOTALRUB) AS TOTALRUB
FROM CASHSAIL
GROUP BY SHOPINDEX, CASHNUMBER, ZNUMBER, CHECKNUMBER
в поле TOTALRUB в рекордсете будет сумма по чеку, остальные поля это идентификатор чека.
(правда сумма всего одна на чек, выбирать максимальную не из чего ну пусть это она и будет, минимальной же тоже нет ;о)))
Соловьев (2004-04-26 15:45:00) [17]
> Это как ????? У чека м.б. несколько сумм ????????
я думаю автор имел ввиду - сумму за конкретный товар - так как можно купить несколько наименований одного товара, и тогда в чеке пишут - например 5 буханок = 5х12.0 руб
Vlad (2004-04-26 15:38:00) [18]select sum(сумма_позиции_в_чеке) where номер_чека = ...
это сумма всех позиций в чеке.
select max(сумма_позиции_в_чеке) where номер_чека = ...
это максимальная из сумм позиций в чеке.
А что такое максимальная сумма всего чека ? Какова тогда будет минимальная сумма всего чека ? Бывает ли среднеквадратичная сумма всего чека ?
bushmen (2004-04-26 15:37:00) [19]>У чека м.б. несколько сумм ????????
А что в этом странного? Если в магазине можно купить несколько наименований товаров?!
Johnmen (2004-04-26 15:32:00) [20]Это как ????? У чека м.б. несколько сумм ????????