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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2011, 13:52   #1
Carry
Новичок
Джуниор
 
Регистрация: 09.03.2011
Сообщений: 4
Вопрос SQL-запросы в Delphi

Здравствуйте! Помогите, пожалуйста, бедному студенту.
Задача следующая: есть 2 таблицы в Access:1.jpg
Требуется оценить каждую модель из таблицы Model по каждому из имеющихся критериев из таблицы Tab. Для этого необходимо для каждой модели просуммировать оценки по каждому критерию, умноженные на вес важности.
Пишу следующий запрос:

SELECT sum(Model.Оценка*Tab.Вес_важности) FROM Model INNER JOIN Tab ON Tab.Критерий=Model.Критерий

Но так выводится общая сумма, а мне нужно, чтобы была отдельно сумма для каждой модели. Ума не приложу, как это сделать...
Carry вне форума Ответить с цитированием
Старый 09.03.2011, 14:37   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

группировка
GROUP BY model.код
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 09.03.2011, 15:06   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

evg_m, +1

Код:
SELECT Model.Модель, sum(Model.Оценка*Tab.Вес_важности) FROM Model
   INNER JOIN Tab ON Tab.Критерий=Model.Критерий
GROUP BY Model.Код, Model.Модель
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.03.2011, 21:52   #4
Carry
Новичок
Джуниор
 
Регистрация: 09.03.2011
Сообщений: 4
По умолчанию

Сейчас попробую...

Последний раз редактировалось Carry; 09.03.2011 в 21:58.
Carry вне форума Ответить с цитированием
Старый 09.03.2011, 21:53   #5
Carry
Новичок
Джуниор
 
Регистрация: 09.03.2011
Сообщений: 4
По умолчанию

А можно еще уточнить: выводится модель столько раз, по скольким критериям она оценивается. А нужно только один раз каждую модель и сумму ее оценок, умноженных на вес важности...
Carry вне форума Ответить с цитированием
Старый 09.03.2011, 23:03   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

Цитата:
А нужно только один раз каждую модель
а они так разные, вот только названия у них вероятно одинаковые (а коды разные). Это если вы пробовали запрос от Serge_Bliznykov. Если запрос ваш то было бы неплохо его привести.
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 09.03.2011, 23:27   #7
Carry
Новичок
Джуниор
 
Регистрация: 09.03.2011
Сообщений: 4
По умолчанию

Ура! Получилось!!! Спасибо всем, особенно Serge_Bliznykov, я чуть-чуть изменила его вариант, убрала Model.Код. Вот "правильный" запрос, который работает, как нужно (на всякий случай):

SELECT Model.Модель, sum(Model.Оценка*Tab.Вес_важности) FROM Model INNER JOIN Tab ON Tab.Критерий=Model.Критерий GROUP BY Model.Модель
Carry вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как правильно создавать запросы в Sql из Delphi 7 MixanMM БД в Delphi 13 20.07.2010 13:29
SQL - запросы в Delphi zetrix БД в Delphi 41 08.06.2010 14:07
SQL запросы akimov_aleks БД в Delphi 3 21.04.2010 05:42
Запросы SQL в Delphi antoni БД в Delphi 13 02.09.2008 00:53