Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > помогите с запросом


Автор: ijacknick 25.4.2008, 13:39
В общем довольно простой запрос на выборку, с одним вычисляемым полем.
Суть: представим таблицу с полями "время переговоров", "стоимость минуты", "наличие льгот" - тип данных логический
Надо посчитать стоимость переговоров, т.е.
время*стоимость и если есть льготы, то умножить еще на 0,9
Я не могу врубится как сделать вот эту проверку логического поля - "да" стоит или "нет"
Подскажите плиз, буду безмерно благодарен!

Автор: Akina 25.4.2008, 14:28
Код

Select [время]*[стоимость]*IIF([наличие льгот], 0.9, 1) As [Слупить денег]
From table

Автор: ijacknick 25.4.2008, 14:50
Akina, прими благодарности, но у меня еще одна проблемка возникла: отдельно это работает, но если вставить выражение в состав другого запроса получается такая ошибка

Автор: bopoha 25.4.2008, 15:07
Правильно, т.к. выражение использует не сгрупированные данные. Для этого нужно либо выражение добавить в группировку, вычислять данные после группировки (на основании запроса) или в выражении использовать функции Sum, Count, для которых выполняется гурппировка. 

Автор: Akina 25.4.2008, 15:21
Цитата(ijacknick @  25.4.2008,  15:50 Найти цитируемый пост)
если вставить выражение в состав другого запроса получается такая ошибка

Рекомендация: нажать кнопку "Справка" и читать до полного просветления.

Автор: ijacknick 25.4.2008, 15:27
bopoha, спасибо за подсказку - я просто убрал группировку и все заработало как надо
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)