Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос с условием 
V
    Опции темы
KNN79
Дата 23.1.2010, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.1.2010

Репутация: нет
Всего: нет



Здравствуйте!!!!!!

Не могу в отчете подсчитать сумму  PL_New при условии  ZK=1101

Пытался через запрос  =Sum([PL_Bolot]![PL_New]) - выдает что не может найти значение параметра PL_Bolot!PL_New (а ведь запрос PL_Bolot  выбирает значения с параметром  ZK=1101)

в отчете выборка следующая:
OBJECTID    KV    PL_New    ZK    DEN_ZK
31007                206    0.257237    1101    Насаждение естественного происхождения
31008                206    3.1061                 1400    Редины биологические
132893    206    2.16408    1101    Насаждение естественного происхождения
102695    206    2.52418    1400    Редины биологические
109635    206    1.1372                 2507    Болота
31009                206    1.64923    1101    Насаждение естественного происхождения
31411                206    4.93493    1400    Редины биологические
31412                206    5.40039    1101    Насаждение естественного происхождения

Подскажите, как можно решить данную проблему.

PM MAIL   Вверх
KNN79
Дата 23.1.2010, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.1.2010

Репутация: нет
Всего: нет



Вот база

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  __.rar 42,55 Kb
PM MAIL   Вверх
Woodlin
Дата 25.1.2010, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

Репутация: 1
Всего: 1



KNN79, в режиме конструктора запроса надо включить групповые операции, в столбце PL_New выбрать Sum
PM MAIL ICQ   Вверх
KNN79
Дата 26.1.2010, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.1.2010

Репутация: нет
Всего: нет



Woodlin, спасибо за совет. Только вот он не очень помог. Дело в том, мне необходимо просуммировать Pl_new в этом отчете не только при ZK=1101, которое занести в таблицу столбец 2, а также при ZK=2507 - столбец 10 и т.п. (пример в присоед. файле). Как это сделать в одном отчете? Я полагаю, что нужно создать на каждую выборку запрос,  в котором надо включить групповые операции+в столбце PL_New выбрать Sum (как и говорил, Woodlin). НО!!! получается, что к одному отчету будет "привязано" несколько запросов с одинаковой переменной PL_New !!!!?????? или это НЕ ТАК??? Может я не понял???    smile 

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  ______.rar 1,88 Kb
PM MAIL   Вверх
Akina
Дата 26.1.2010, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(KNN79 @  26.1.2010,  18:22 Найти цитируемый пост)
получается, что к одному отчету будет "привязано" несколько запросов с одинаковой переменной PL_New !!!!?????? или это НЕ ТАК??? 

Сделай по запросу на каждый ZK, и запрос, который собирает результаты расчётов воедино. Именно последний и используй как источник данных отчёта. Т.е. типа
Код

select q1.id, q1.val1, q2.val2
from 
(
  select t1.id, sum(t1.val) as val1
  from table as t1
  where t1.fld='text1'
) as q1
join
(
  select t2.id, sum(t2.val) as val2
  from table as t2
  where t2.fld='text2'
) as q2
on q1.id=q2.id



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
KNN79
Дата 27.1.2010, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.1.2010

Репутация: нет
Всего: нет



Akina , добрый вечер!! Можно по подробнее (я не силен "пока"  в программировании) . 
PM MAIL   Вверх
chip_and_dayl
Дата 27.1.2010, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: нет
Всего: 9



Код

(
  select t1.ZK, sum(t1.val) as val1
  from table as t1
  where t1.ZK='1101'
 group by t1.ZK
) as q1

Этот кусок запроса, выводит суму по коду 1101, то есть результатом будет
ZK                   Val1
1101                например 45,89



Код

(
  select t2.ZK, sum(t2.val) as val2
  from table as t2
  where t2.ZK='2507'
group by t2.ZK
) as q2

Этот  кусок кода делает то же самое, только суммирует строки со значением ЗК=2507, то есть результат
ZK                   Val1
2507               например 789,54

Код

select q1.val1, q2.val2
....
join
...
on q1.id=q2.id

А эта часть запроса обьединяет результат первого и второго запроса, то есть результат
Val1      Val2
45,89    789,54

Хотя нет,  ничего оно не объединяет, не понятно, что за Ид


Это сообщение отредактировал(а) chip_and_dayl - 27.1.2010, 23:19


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Akina
Дата 27.1.2010, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(chip_and_dayl @  27.1.2010,  23:39 Найти цитируемый пост)
Только вместо join - union 

Посмотри ещё раз. Повнимательнее...
Цитата(KNN79 @  27.1.2010,  22:53 Найти цитируемый пост)
Можно по подробнее 

Делим на части.
Вопрос 1 - что делает подзапрос q1?
Код

  select t1.id, sum(t1.val) as val1
  from table as t1
  where t1.fld='text1'

Вопрос 2 - что делает подзапрос q2?
Код

  select t2.id, sum(t2.val) as val2
  from table as t2
  where t2.fld='text2'

Вопрос 3 - что делает внешний запрос?
Код

select q1.id, q1.val1, q2.val2
from q1
join q2
on q1.id=q2.id
Объяснять не буду - слишком просто. Думай.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
chip_and_dayl
Дата 27.1.2010, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: нет
Всего: 9



Цитата(Akina @  27.1.2010,  22:58 Найти цитируемый пост)
Посмотри ещё раз. Повнимательнее...

Извиняй, уже потом дошел до конца и осознал ошибкуsmile

Добавлено через 53 секунды
Только кажись нужно группировку в первом и втором подзапросах

Добавлено через 14 минут и 35 секунд
KNN79
Я так понял результат должен следующего плана!?!
Сум_1101      Сум_2507
45,89             789,54


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
chip_and_dayl
Дата 27.1.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: нет
Всего: 9



Если да, то

Код

select q1.val1, q2.val2 From
(  select t1.ZK, sum(t1.val) as val1
  from table as t1
  where t1.ZK='1101'
 group by t1.ZK
) as q1,
(select t2.ZK, sum(t2.val) as val2
  from table as t2
  where t2.ZK='2507'
group by t2.ZK) as q2



--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Akina
Дата 27.1.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(chip_and_dayl @  28.1.2010,  00:07 Найти цитируемый пост)
Только кажись нужно группировку в первом и втором подзапросах

Точно. Когда постоянно прыгаешь с Аксесса на Мускул и обратно - оно как бы забывается  smile 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
KNN79
Дата 29.1.2010, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 13.1.2010

Репутация: нет
Всего: нет



Привет, всем 
Спасибо за помощь!!!!!!!!!!!!!!!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0610 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.