select
id, name,
case
when avgmark < 4 then 'ХОРОШИСТ'
else 'ОТЛИЧНИК'
end as status
from students
Лёгенький запросик
У меня есть таблица students. В ней id, name, avgmark(средняя оценка)
Мне надо вывести всех студентов со всеми полями, но вместо поля avgmark должно быть столбец "статус". В этом столбце должно указываться
"хорошист" если avgmark<4 и "отличник", если avgmark>=4
Заранее спасибо :)
СУБД?
возможны варианты, в зависимости от версий SQL
Код:
либо
Код:
select
id, name,
decode(decode(avgmark, 4, 1, 5, 1, 0), 1, 'ХОРОШИСТ', 'ОТЛИЧНИК') as status
from students
id, name,
decode(decode(avgmark, 4, 1, 5, 1, 0), 1, 'ХОРОШИСТ', 'ОТЛИЧНИК') as status
from students
Код:
select
id, name,
'ХОРОШИСТ' as status
from students
where avgmark < 4
union all
select
id, name,
'ОТЛИЧНИК' as status
from students
where avgmark >= 4
id, name,
'ХОРОШИСТ' as status
from students
where avgmark < 4
union all
select
id, name,
'ОТЛИЧНИК' as status
from students
where avgmark >= 4