Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Вопросы по SQL. Помогите пожалуйста!

reiki Знаток (258), на голосовании 3 года назад
Нужно решить несколько задач на sql.
1.Подсчитать среднюю оценку в группе (с помощью запроса SELECT) и умножить ее на значение 1,34,
которое необходимо сохранить в отдельной переменной, вывести значение переменной на экран.
2.Условная конструкция IF:Подсчитать количество студентов на курсе (таблица Student). Если их в таблице
от 2 до 5, то ничего не сообщать, в противном случае вывести сообщение вида «На
… курсе ...студентов» (вместо многоточия вставить данные).
Голосование за лучший ответ
Madfish Просветленный (30758) 3 года назад
1. SELECT AVG(Mark) * 1.34 FROM Reports
2. Условная конструкция if не может использоваться запросах. Нужно использовать CASE.

WITH NUMBER AS ((SELECT COUNT(*) AS num FROM Student))
SELECT CASE WHEN ((SELECT num from NUMBER) BETWEEN 2 AND 5) THEN '' ELSE 'На .. курсе ' + CAST((SELECT num from NUMBER) as VARCHAR(100)) + ' студентов.' END

Это без использования триггеров, хранимых процедур и тп.
Вообще, надо было уточнять где пишется код SQL, в хранимой процедуре или в запросе...
reikiЗнаток (258) 3 года назад
Подскажите пожалуйста почему не работает данный запрос по 1 задаче?
Сумма балов -не допустимое имя столбца
и неверный синтаксис from
по факту все правильно, но ошибки выдает
declare @mark int
SET @mark = (AVG([Сумма баллов]) * 1.34 FROM Успеваемость)
SELECT @mark
Madfish Просветленный (30758) reiki, потому что там нет SELECT
Похожие вопросы