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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2009, 18:03   #1
mavlon_m
Форумчанин
 
Регистрация: 04.08.2009
Сообщений: 101
По умолчанию условия( if ) на запросе

Помагите пожалуйста, очень нужно
пример: select field1,field2, if field1>0 тогда field1*5 from tabe1
mavlon_m вне форума Ответить с цитированием
Старый 19.10.2009, 19:18   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

так
Код:
select 
  field1,
  field2, 
  case
  when field1>0 then field1*5 
  end new_field
from tabe1
soleil@mmc вне форума Ответить с цитированием
Старый 19.10.2009, 21:27   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,336
По умолчанию

Код:
select 5*field1, field2
from table1
where field1 > 0
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 20.10.2009, 09:28   #4
mavlon_m
Форумчанин
 
Регистрация: 04.08.2009
Сообщений: 101
По умолчанию

Цитата:
Сообщение от soleil@mmc Посмотреть сообщение
так
Код:
select 
  field1,
  field2, 
  case
  when field1>0 then field1*5 
  end new_field
from tabe1
все спасибо всем

Последний раз редактировалось mavlon_m; 20.10.2009 в 09:35.
mavlon_m вне форума Ответить с цитированием
Старый 20.10.2009, 10:33   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Код:
case
  when field1>0 then field1*5 
  end new_field
просто для справки...
Учтите, что если field1 будет <=0
тогда new_field будет null
чтобы этого избежать можно использовать else:
Код:
case
  when field1>0 then field1*5 
  else 0 end new_field
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.10.2009, 14:29   #6
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
просто для справки...
Учтите, что если field1 будет <=0
честно
сначала написал с
Код:
else 0
но потом подумал и прикинул, что ТС вполне может устроить и null по умолчанию, а может он захочет написать и
Код:
else field1
soleil@mmc вне форума Ответить с цитированием
Старый 20.10.2009, 15:38   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

soleil@mmc, коллега, ну что Вы?!.. К Вам никаких претензий! я и уверен, что Вы знаете, что синтаксис case допускает использование else и знаете, что будет, если не указывать альтернативу...

а вот TC этого скорее всего этого не знает!
Вот поэтому я ему и попытался подсказать...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
условия glupayastudentka Помощь студентам 7 25.06.2009 09:43
условия combobox Mihailhome Общие вопросы Delphi 3 12.06.2009 20:09
Помогите с составление условия в запросе Pirat_of Microsoft Office Access 3 28.04.2009 14:39
Оператор условия [Smarik] Помощь студентам 8 22.02.2008 18:49
Проверка условия Luciferium БД в Delphi 1 05.06.2007 16:23