Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Лёгенький запросик

2.2K
30 июня 2006 года
0cool
54 / / 15.06.2006
Здравтвуйте.
У меня есть таблица students. В ней id, name, avgmark(средняя оценка)
Мне надо вывести всех студентов со всеми полями, но вместо поля avgmark должно быть столбец "статус". В этом столбце должно указываться
"хорошист" если avgmark<4 и "отличник", если avgmark>=4

Заранее спасибо :)
315
30 июня 2006 года
Nick_M
399 / / 29.05.2003
СУБД?
7.8K
30 июня 2006 года
DrCoder
106 / / 27.01.2006
да, прикольная оценка статусов )))

возможны варианты, в зависимости от версий SQL

 
Код:
select
  id, name,
  case
    when avgmark < 4 then 'ХОРОШИСТ'
    else 'ОТЛИЧНИК'
  end as status
from students


либо

 
Код:
select
  id, name,
  decode(decode(avgmark, 4, 1, 5, 1, 0), 1, 'ХОРОШИСТ', 'ОТЛИЧНИК') as status
from students
7.8K
30 июня 2006 года
DrCoder
106 / / 27.01.2006
а где ни case ни decode не работает можно так:
Код:
select
  id, name,
  'ХОРОШИСТ' as status
from students
where avgmark < 4
union all
select
  id, name,
  'ОТЛИЧНИК' as status
from students
where avgmark >= 4
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог