Member 12770648 Ответов: 1

Вычисление средних значений на основе подсчетов


Нужно рассчитать и присвоить значение по шкале следующим образом

Таблица выглядит следующим образом :


кодовое имя respond1 respond2 respnond3 respond4
-----------------------------------------------------------
001 Джейн счастлива удовлетворена счастлива нейтральна
002 Павел удовольствием устраивают нейтральные
003 Ама счастливый
004 Джон нейтральный несчастный
005 домашнее животное недовольно нейтрально


выберите код, имя, регистр
когда respons1='happy' , то 100
когда respons1="удовлетворительно", то 50
когда respons1='нейтральный' , то 25
когда respons1='несчастный' , то 0
конец как "РЕЗУЛЬТАТ1",
дело
когда respond 2='happy' , то 100
когда respond2= "удовлетворительно", то 50
когда respond 2='нейтральный' , то 25
когда respond 2='несчастный' , то 0
конец как "RESULT2",
дело
когда respons3='happy' , то 100
когда respons3="удовлетворительно", то 50
когда respons3='нейтрально' , то 25
когда respons3='несчастный' , то 0
конец как "RESULT3",
дело
когда respond 4='happy' , то 100
когда respons4="удовлетворительно", то 50
когда respond 4='нейтральный' , то 25
когда respons4='несчастный' , то 0
конец как "RESULT4",

финальный стол-это

код,наименование,результат1,результат2,result3,result4,


Запрос

1. У нас есть некоторые из ответ1, ответ2,ответ3, ответ4 пустой, следовательно, в
в процессе вычисления среднего их следует исключить.


код
001 4 как реагирует, следовательно, исчисление средних должно быть на 4 графы
002 поскольку 3 отвечает следовательно вычисление среднего значения должно быть включено 3 графы
003 поскольку 2 отвечает следовательно вычисление среднего значения должно быть включено 2 графы
004 поскольку 2 отвечает следовательно вычисление среднего значения должно быть включено 2 графы
005 поскольку 2 отвечает следовательно вычисление среднего значения должно быть включено 2 графы

2. Если среднее значение result1,result2,result3,result4 :

находится между 80 и 100 включительно он должен назначить окончательный как "в восторге"

находится между 60 и менее чем 80 он должен назначить окончательный как "хорошо"

находится между 40 и менее чем 60 он должен назначить окончательный как 'удовлетворение'

находится между 20 и менее чем 40 он должен назначить окончательный как UNSATIS'

находится между 10 и менее чем 20 он должен назначить окончательный как "несчастный"

находится между 0 и менее чем 10 он должен назначить окончательный как "плохо"


Как я могу добиться этого.

Пожалуйста помогите

Спасибо

Что я уже пробовал:

Это коды, над которыми я работал, используя условие CASE

1 Ответов

Рейтинг:
1

OriginalGriff

Во - первых, не делайте этого так: вы дублируете информацию и создаете себе возможные проблемы-все, что требуется, - это один пропущенный ключ, и ваша система выходит из строя.
Вместо этого создайте вторую таблицу ответов:

ID            INT
Description   NVARCHAR
Данные ответов будут следующими:
ID    Description
0     Unhappy
25    Neutral
50    Satisfactory
100   Happy
И вы используете значение ID в качестве внешнего ключа в вашей исходной таблице.
Вы используете соединение для объединения таблицы, когда вам нужны удобочитаемые значения, и ваш выбор для вышеперечисленного становится тривиальным.


Member 12770648

Как вы рассчитываете среднее значение с некоторыми неприменимыми опциями