Сумма в SQL запросе

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сумма в SQL запросе

Сообщение ~Виктор~ » 20.02.2007 (Вт) 9:23

В Active Report делаю простенький запрос

SELECT * FROM Журнал_взвешивания

а как мне в запросе подсчитать сумму например поля Принято
Ребзя, давайте жить дружно!

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

Сообщение alibek » 20.02.2007 (Вт) 9:33

SUM([Принято])
Lasciate ogni speranza, voi ch'entrate.

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 9:38

хммм...

хоть так
SELECT *, Sum([Принято]) FROM Журнал_взвешивания_текст
хоть так
SELECT *, Sum(Принято) FROM Журнал_взвешивания_текст

получаем:

Error 5000 : Error in processing report.
[ Extended Info:Невозможна группировка по полям, выбранным с помощью символа '*'.]
Ребзя, давайте жить дружно!

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

Сообщение alibek » 20.02.2007 (Вт) 9:45

А ты не пробовал подумать? Например над тем, как можно в одном запросе вернуть набор из нескольких строк и из одной строки?
SELECT * FROM Журнал_взвешивания_текст
SELECT Sum([Принято]) FROM Журнал_взвешивания_текст
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Сумма в SQL запросе

Сообщение Andrey Fedorov » 20.02.2007 (Вт) 9:53

~Виктор~ писал(а):В Active Report делаю простенький запрос
SELECT * FROM Журнал_взвешивания
а как мне в запросе подсчитать сумму например поля Принято


А ты уверен что это тебе в запросе надо? Может для поля отчета соответствующее свойство выставить нужно? IMHO так...

P.S См в уроках - 04. Subtotal Grouped Data.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 9:55

хоть так
SELECT * FROM Журнал_взвешивания_текст
SELECT Sum([Принято]) FROM Журнал_взвешивания_текст

хоть так
SELECT * FROM Журнал_взвешивания_текст
SELECT Sum([Принято]) as Summa1 FROM Журнал_взвешивания_текст

Error 5000 : Error in processing report.
[ Extended Info:ошибка синтаксиса в предложении FROM.]
Ребзя, давайте жить дружно!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 20.02.2007 (Вт) 10:00

~Виктор~ писал(а):Error 5000 : Error in processing report.
[ Extended Info:ошибка синтаксиса в предложении FROM.]


Код: Выделить всё
SELECT [ID], Дата, Предмет, Принято FROM Журнал_взвешивания_текст
UNION ALL
SELECT NULL, NULL, NULL, Sum([Принято]) FROM Журнал_взвешивания_текст


Но, IMHO, скорей всего не в ту сторону копаешь...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 10:32

Казалось бы для простейшей задачи запрос превратилсо в монстра

SELECT Журнал_взвешивания_текст.Код, Журнал_взвешивания_текст.Транспорт, Журнал_взвешивания_текст.Номер, Журнал_взвешивания_текст.Водитель, Журнал_взвешивания_текст.Груз, Журнал_взвешивания_текст.Тип_груза, Журнал_взвешивания_текст.Перевозчик, Журнал_взвешивания_текст.Собственник, Журнал_взвешивания_текст.Поставщик, Журнал_взвешивания_текст.Склад, Журнал_взвешивания_текст.Размещение, Журнал_взвешивания_текст.Дата_ПВ, Журнал_взвешивания_текст.Дата_ВВ, Журнал_взвешивания_текст.Время_ПВ, Журнал_взвешивания_текст.Время_ВВ, Журнал_взвешивания_текст.Вес_ПВ, Журнал_взвешивания_текст.Вес_ВВ, Журнал_взвешивания_текст.Нетто, Журнал_взвешивания_текст.Тип_операции, Журнал_взвешивания_текст.Fi, Журнал_взвешивания_текст.Брутто, Журнал_взвешивания_текст.Тара, Журнал_взвешивания_текст.Принято, Журнал_взвешивания_текст.Отгружено, Sum([Принято]) AS Sales FROM Журнал_взвешивания_текст GROUP BY Журнал_взвешивания_текст.Код, Журнал_взвешивания_текст.Транспорт, Журнал_взвешивания_текст.Номер, Журнал_взвешивания_текст.Водитель, Журнал_взвешивания_текст.Груз, Журнал_взвешивания_текст.Тип_груза, Журнал_взвешивания_текст.Перевозчик, Журнал_взвешивания_текст.Собственник, Журнал_взвешивания_текст.Поставщик, Журнал_взвешивания_текст.Склад, Журнал_взвешивания_текст.Размещение, Журнал_взвешивания_текст.Дата_ПВ, Журнал_взвешивания_текст.Дата_ВВ, Журнал_взвешивания_текст.Время_ПВ, Журнал_взвешивания_текст.Время_ВВ, Журнал_взвешивания_текст.Вес_ПВ, Журнал_взвешивания_текст.Вес_ВВ, Журнал_взвешивания_текст.Нетто, Журнал_взвешивания_текст.Тип_операции, Журнал_взвешивания_текст.Fi, Журнал_взвешивания_текст.Брутто, Журнал_взвешивания_текст.Тара, Журнал_взвешивания_текст.Принято,
Журнал_взвешивания_текст.Отгружено

или я опять что то нетак делаю, но по крайней мере сумма подсчитывается
Ребзя, давайте жить дружно!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.02.2007 (Вт) 10:44

И эта "сумма", случаем, не всегда равна значению Журнал_взвешивания_текст.Принято в каждой строке?..
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 11:35

нет, сумму подсчитывает верно.

А вот как сделать порядковый номер строк в отчете?
Ребзя, давайте жить дружно!

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 20.02.2007 (Вт) 12:18

у отчетов обычно есть своя иерархия группировок, ей и пользуйся

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 12:19

вот я и спрашиваю где мне эту иерархию группировок взять и как пользовать
Ребзя, давайте жить дружно!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 20.02.2007 (Вт) 12:24

~Виктор~ писал(а):нет, сумму подсчитывает верно.
А вот как сделать порядковый номер строк в отчете?


Как в приложенном примере.
Вообще-же все есть в примерах к ActiveReports...
Вложения
Test.rar
(14.36 Кб) Скачиваний: 107
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Oxygen
Белая и пушистая
Белая и пушистая
Аватара пользователя
 
Сообщения: 1314
Зарегистрирован: 15.07.2003 (Вт) 7:14
Откуда: Москва

Сообщение Oxygen » 20.02.2007 (Вт) 12:54

А вообще, для подобных вещей есть специальные операторы ROLLUP и CUBE. Вроде бы MSSQL их должен поддерживать.
Процедура клонирования завершена.
Коррекция имплантированного сознания соответствует принятым алгоритмам.
Уникальный идентификатор скопирован в чип временного паспорта.
Активация прав гражданина ожидается в течение 24 часов

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 20.02.2007 (Вт) 14:30

Oxygen писал(а):А вообще, для подобных вещей есть специальные операторы ROLLUP и CUBE. Вроде бы MSSQL их должен поддерживать.


Это не причем. Пример я дал - там все дюже примитивно.
Если я, конечно, правильно понял что нужно человеку...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

~Виктор~
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 29.01.2007 (Пн) 15:53
Откуда: Албания

Сообщение ~Виктор~ » 20.02.2007 (Вт) 16:36

Andrey Fedorov
да да пример решил мою проблему полностью, спасибо
Ребзя, давайте жить дружно!


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот и гости: 100

    TopList