Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.01.2010, 10:04   #1
Knn79
 
Регистрация: 27.01.2010
Сообщений: 9
По умолчанию Запрос, Расчет суммы с группировкой

Есть база в ней столбцы Kf1, Mz1...... Kf10,Mz10 и Den_vmr, где
Kf1....Kf10 - коэффициент кол-ва деревьев на м2
Mz1.....Mz10 - порода деревьев
Den_vmr - преобладающая порода

необходимо просуммировать значения Kf1, Mz1...... Kf10,Mz10 с группировкой по Den_vmr

процесс суммирования следующий
Береза 7Б+3Л
Листвен. 88Л+10Е+2Б+2Л+28Б+0Л

Результат должен выглядеть так
Den_vmr Kf Mr
Береза 7 Б
Береза 3 Л
Листвен 90 Л
Листвен 10 Е
Листвен 30 Б
Вложения
Тип файла: rar Zapros.rar (29.4 Кб, 18 просмотров)
Knn79 вне форума Ответить с цитированием
Старый 30.01.2010, 13:26   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Knn79.
1. "Есть база... Результат должен выглядеть так.." - участникам форума нужен вопрос, а не Ваши претензии к результату который Вам что то должен.
2. "Есть база в ней столбцы.." - в базе нет "столбцов", правильнее - в БД есть таблица с полями "Kf1, Mz1...... Kf10,Mz10 и Den_vmr...".
3. Структура Вашей БД нуждается в корректировке, таблица "BASE" , содержит 171 поле(!) - это не есть хорошо, представление о отношениях - реляционной БД, у Вас или отсутствует или очень мало. Заниматься разработкой БД лучше имея багаж базовых знаний, рекомендую: Мартин Грубер - Понимание SQL 1.28 Мб
Удачи Вам.
Евгений.
P.S. форум не "машина ответов", его участники люди, и выкладывая вопрос не забывайте обращаться к тем кому Вы его адресуете, не знаете как - можно просто поздоровавшись.
Вложения
Тип файла: txt SQL_для текущего состояния.txt (735 байт, 131 просмотров)

Последний раз редактировалось Teslenko_EA; 30.01.2010 в 13:56.
Teslenko_EA вне форума Ответить с цитированием
Старый 30.01.2010, 21:19   #3
Knn79
 
Регистрация: 27.01.2010
Сообщений: 9
По умолчанию

Здравствуйте, Teslenko_EA
1. Как мне суммировать Kf1, Mz1...... Kf10,Mz10 с группировкой по Den_vmr?
2. "Структура Вашей БД нуждается в корректировке, таблица "BASE" , содержит 171 поле(!) - это не есть хорошо" - ДАННЫЕ ЭТИХ ПОЛЕЙ ИСПОЛЬЗУЮТСЯ В ДРУГИХ ЧАСТЯХ ПРОГРАММЫ.
Я же выслал только часть, которая используется в моем вопросе).
Knn79 вне форума Ответить с цитированием
Старый 30.01.2010, 22:19   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Knn79:
1. "Как..суммировать Kf1, Mz1.." суммировать можно только значения числовых полей, поля Mz.. хранящие текстовые значения (Б, Л, Е) суммировать нельзя. Текстовый файл из моего предыдущего поста содержит SQL конструкцию выполняющую Ваше пожелание, из Ваших запросов создает запрос отображающий таблицу в виде - котором Вам "должен Результат".
2. "ДАННЫЕ..ПОЛЕЙ ИСПОЛЬЗУЮТСЯ... Я же выслал только часть.." - Вы меня пугаете, значит в таблице более чем 171 поле? Значит "нуждается в корректировке" мягко сказано.
Евгений.

Последний раз редактировалось Teslenko_EA; 31.01.2010 в 17:24.
Teslenko_EA вне форума Ответить с цитированием
Старый 30.01.2010, 23:46   #5
Knn79
 
Регистрация: 27.01.2010
Сообщений: 9
По умолчанию

Спасибо,
но почему то после нескольких удачных запросов - вылетает ошибка. И после того как заходишь - половина запроса удаляется. Вот что становиться:Код

SELECT Sum(T.f1) AS Sumf1, T.F2, T.Den_vmr FROM
[SELECT [Sum-Kf1] as f1, Mr1 as F2, Den_vmr FROM КФ1
union
SELECT [Sum-Kf2] as f1, Mr2 as F2, Den_vmr FROM КФ2
union
SELECT [Sum-Kf3] as f1, Mr3 as F2, Den_vmr FROM КФ3
union
SELECT [Sum-Kf4] as f1, Mr4 as F2, Den_vmr FROM КФ4
UNION
SELECT [Sum-Kf5]
] AS T
GROUP BY T.F2, T.Den_vmr
HAVING (((Sum(T.f1))>0))
ORDER BY T.Den_vmr;
Knn79 вне форума Ответить с цитированием
Старый 31.01.2010, 10:23   #6
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Knn79 "но почему то...вылетает ошибка" - это происходит не "почему то", а из-за проверки MS Access синтаксиса SQL конструкции, он "считает" вложенную SQL конструкцию запроса на объединение "длинным именем" источника и в не сохраненном запросе выполняет "корректировку" имени и изменяя скобки на квадратные, должно быть так:
Код:
SELECT Sum(T.f1) AS Sumf1, T.F2, T.Den_vmr FROM 
( SELECT [Sum-Kf1] as f1, Mr1 as F2, Den_vmr FROM КФ1 
union 
...
FROM КФ10 ) T 
GROUP BY T.F2, T.Den_vmr 
HAVING Sum(T.f1)>0
ORDER BY T.Den_vmr
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 31.01.2010, 11:56   #7
Knn79
 
Регистрация: 27.01.2010
Сообщений: 9
По умолчанию

Здравствуйте, Teslenko_EA
Скобки изменил на круглые, данные снова дописал после КФ4. Запустил работает пару раз - потом снова "слетает". Может нужно, что по-другому прописать?
Knn79 вне форума Ответить с цитированием
Старый 31.01.2010, 14:50   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Knn79, ничего "по-другому" прописывать не надо, я уже упоминал что "проблема" может проявляться только в не сохраненном запросе, и только при открытии в редакторе, сохраните запрос и "проблемы" не будет.
Евгений.
P.S. свои посты я подписываю в надежде, что ко мне будут обращаться по имени.
Teslenko_EA вне форума Ответить с цитированием
Старый 31.01.2010, 15:15   #9
Knn79
 
Регистрация: 27.01.2010
Сообщений: 9
По умолчанию

Спасибо, Евгений.
Knn79 вне форума Ответить с цитированием
Старый 31.01.2010, 15:28   #10
Knn79
 
Регистрация: 27.01.2010
Сообщений: 9
По умолчанию

Евгений!!!!! Не подскажите: Как вывести запрос в отчете не столбцом, в строку через запятую?
Knn79 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос с группировкой значений setrik777 Общие вопросы Delphi 5 20.10.2009 11:49
Копирование строк с включенной группировкой по столбцам ALev Microsoft Office Excel 4 07.07.2009 11:44
SQL запрос на подсчет суммы неотрицательных чисел таблици бд xxxsas SQL, базы данных 2 05.02.2009 23:40
Подскажите правильный запрос c группировкой frostyland Microsoft Office Access 2 03.09.2008 10:22