Функция суммирования в SQL запросе

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Функция суммирования в SQL запросе

Сообщение Flo » 14.04.2004 (Ср) 11:08

Уважаемые, такой вопрос - нужно собрать из БД отчет, содержащий список, к примеру, продаж по видам продукции и результирующие суммы по этим самым видам продукции. Можно ли реализовать это одним SQL или надо обязательно два (для списка и для сумм отдельно)? Заранее спасибо.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.04.2004 (Ср) 11:10

Структуру БД на обозрение, плиз
Lasciate ogni speranza, voi ch'entrate.

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 14.04.2004 (Ср) 11:18

Структура для обозрения великовата, но запрос такого типа:
"SELECT Retsept.Retsept, Ports.PortsKuup, Ports.ToodKaal FROM Ports INNER JOIN (Ulesanne INNER JOIN Retsept ON Retsept.ID_retsept=Ulesanne.ID_retsept) ON Ulesanne.ID_ulesan=Ports.ID_ulesan ORDER BY Retsept.Retsept"

Получаем список из рецептов, дат и веса. И хотельсь бы еще плюс к этому иметь суммарный вес по каждому рецепту, что-то типа
Sum (Ports.ToodKaal)?

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

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.04.2004 (Ср) 11:21

В одном запросе и итоги и детали вывести не получится.
Вот запрос для итогов:
Код: Выделить всё
SELECT Retsept.Retsept, Sum(Ports.ToodKaal)
FROM Ports INNER JOIN (Ulesanne INNER JOIN Retsept ON Retsept.ID_retsept=Ulesanne.ID_retsept) ON Ulesanne.ID_ulesan=Ports.ID_ulesan
GROUP BY Retsept.Retsept
ORDER BY Retsept.Retsept
Lasciate ogni speranza, voi ch'entrate.

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 14.04.2004 (Ср) 11:27

Так я и думала, но надежда умирает последней. :D
alibek, большое спасибо.

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.04.2004 (Ср) 11:41

Кстати, можно (я про итоги).
Во-первых, сами отчеты могут это дело суммировать (по крайней мере Crystal Reports умеет тоталы вычислять). А во-вторых, по крайней мере в MS SQL есть конструкция... Compute By, или Compute, не помню точно. Она при использовании в селекте возврашает дополнительные рекордсеты с тоталами.

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 14.04.2004 (Ср) 11:54

Кстати об отчетах. Я уже как-то спрашивала на форуме об этом, но ответ был мне не совсем понятен. :oops:
Объясните дикарю, если можно чуть-чуть подробнее. :roll:
Знаю, есть Crystal Report. Не знаю откуда его взять и как себе установить. Он работает с VB5 или только с VB6? Может кто подскажет где о нем почитать или (хотя это уже наглость конечно) скинет пример использования? :wink:

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 14.04.2004 (Ср) 12:05

Все бы было хорошо, если бы Кристал был бесплатен, хе-хе :( А так - www.crystaldecisions.com, если мне не изменяет память. А примеров использования в нем самом - вагон и маленькая тележка. И интегрируется он почти со всем - Studio 6, Studio.NET, Delphi... Возможно, заработает и с пятой - смотря какой он сам будет версии. 7-й, кажется, может, а последняя версия (на сайте) была 10.

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 14.04.2004 (Ср) 12:18

Спасибо :D
А чего-нить бесплатного или встроенного для отчетов в VB5,6 существует в природе, не подскажете?
Платно - не проблема, проблема найти в глухой Эстонии. У нас тут не российские просторы с бурной жизнью столиц. С продавцами ПО для разработчиков как-то кисло совсем. А может я не знаю - если кто знает - подскажите, пожалуйста.

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 14.04.2004 (Ср) 13:53

на счет 5 и 6 студий не уверен (кажется с ними урезанная версия кристал репорта идет), не помню
а вот в дотНЕТ CrystalReport точно присутствует (во всяком случае его урезанная версия), и даже свои вебсервисы устанавливает.
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 15.04.2004 (Чт) 16:51

В составе 6-й студии точно идет Кристал 2-й (или 7-й?) версии. Кастрирован донельзя, есессно, но пользоваться можно. Ну и если порыться в Инете - есть же для Дельфей всякие там Rave Reports, Fast Reports, etc. Может, и здесь чего нароешь...

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 16.04.2004 (Пт) 9:31

Я и в составе 5-й нашла Cristal Report версия 4.6.1.0. Насколько она урезана сказать, ессно, не могу - знаний не хватает, а вот работать с ней попытаться собираюсь :)

.COM
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 18
Зарегистрирован: 11.07.2003 (Пт) 22:10
Откуда: Россия, Москва

Сообщение .COM » 16.04.2004 (Пт) 11:35

Cristal Report версия 4.6.1.0 вроде работает только под DAO и Access не выше 97...[/quote]

Flo
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 09.03.2004 (Вт) 16:43
Откуда: Таллинн, Эстония

Сообщение Flo » 16.04.2004 (Пт) 14:07

У-у-у, :? спасибо за информацию. Мне, конечно хватит, но все равно жаль (на будущее).

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 16.04.2004 (Пт) 17:46

На будущее... Я как-то собирался написать компонент, который бы генерил отчеты в формате HTML. Наиболее универсальный и платформно-независимый формат, имхо. Теперь, правда, я уже не программистом работаю, так что даже не знаю, смогу ли я это сделать и если да то когда. Не исключено, что где-нить такая система уже есть - идея-то очевидна. Поройся на поисковиках, может, найдешь...

Alex404
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.09.2002 (Вс) 10:58

Сообщение Alex404 » 20.04.2004 (Вт) 8:29

А чего-нить бесплатного или встроенного для отчетов в VB5,6 существует в природе, не подскажете?

Насчет бесплатного ( ну понятно, да ?...). Есть такой зверь - Data Dynamics Active Report ( http://www.datadynamics.com ).
Держит ADO, DAO, XML ... Интегрируется в любой VB без вопросов. Ну и вообще - много чего хорошего умеет.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

    TopList