![]() |
|
Модераторы: skyboy |
![]()
|
|
| vanillavera |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 15.7.2010 Репутация: нет Всего: нет |
Всем здравствуйте!
подскажите, пожалуйста, кто знает, как правильно написать запрос? нужно вывести поле наценка, как результат от деления (продажи-продажи в договорных ценах)/продажи в договорных ценах проблема в том, что договорной цены может и не быть как написать, чтобы в случае возникновения ошибки деления на ноль в поле выводился ноль? изначально , скажем запрос такой SELECT access.SUMPROD, access.SUMDOG, (SUMPROD-SUMDOG)/SUMDOG FROM access access теоретически понимаю, что здесь нужно использовать is null или case но как? мои познания в SQL скудны и поверхностны |
|||
|
||||
| Zloxa |
|
||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Добавлено через 1 минуту и 58 секунд Именно потому что неопределенные значения у Вас представлены нолями а не null'ами вы и имеете эти гемморои. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
| vanillavera |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 15.7.2010 Репутация: нет Всего: нет |
SELECT access.SUMPROD, access.SUMDOG, case when isnull(SUMDOG;0)=0 then 0 else (SUMPROD-SUMDOG)/SUMDOG end FROM access access запрос пишу в MS Query выдает Не требовалось 'isnull' после списка столбцов в предложении SELECT |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
зачем тебе isnull? на null делить можно, нельзя на 0
просто сравнивай с нулем. Это сообщение отредактировал(а) Zloxa - 21.7.2010, 14:31 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| vanillavera |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 15.7.2010 Репутация: нет Всего: нет |
ваш вариант выдает
не требовалось 'SUMDOG' после списка столбцов в предложении SELECT |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 6 Всего: 44 |
ну как же, в поле может быть 0 или null, из описания не понятно, что там хранится когда дог.цены нет.
vanillavera, так вроде все правильно, какая-то ошибка в синтаксисе. Что за БД? Попробуй условие обрамить скобками case when ( ... ) then ... else ... end -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |