Я пытаюсь получить некоторые средние баллы из опросов пользователей, где я работаю. Несколько раз есть 0 оценок для вопроса, потому что услуга не была предложена на рейс, который мы сделали, чтобы они не могли ответить. Я действительно не рассматривал сценарий, однако, когда в полете есть только один опрос, который означает, что я могу получить 0 оценок. Внизу вы видите схему базы данных:Нужно включать граф, даже если другой столбец 0
Это проблема, потому что если обследование имеет 13 вопросов, и я только получить результаты обратно на 8 из них, потому что 5 есть 0 рейтинги, то я в конечном итоге несоответствие данных в конце, где все остальные полеты ответили хотя бы один раз все 13 вопросов (! надеюсь, что имеет смысл)
так что я использовал, чтобы сделать это:
SELECT AVG(CAST(RATING AS NUMERIC(18, 2))) AS AVERAGE,
QUESTIONID,
COUNT(QUESTIONID) AS COUNT
FROM AnswersRating
WHERE SURVEYID IN
(
SELECT ID
FROM SURVEYS
WHERE FLIGHTDATAID = 7311
) AND RATING > 0
GROUP BY QUESTIONID
ORDER BY QUESTIONID;
Какой штраф до тех пор, поскольку у вас нет только одного обследования для полет. Но получается, что мы делаем:
AVERAGE QUESTIONID COUNT
3.000000 109 1
3.000000 110 1
3.000000 111 1
3.000000 112 1
3.000000 115 1
3.000000 117 1
3.000000 118 1
3.000000 120 1
3.000000 121 1
Этот полет не имеет ответы на вопросы 113, 114, 116 и 119. Я знаю это, потому что я знаю, что это исследование имеет 13 вопросов. Но в будущем опрос может иметь переменное количество вопросов. Итак, что бы я хотел бы иметь, а не выше:
AVERAGE QUESTIONID COUNT
3.000000 109 1
3.000000 110 1
3.000000 111 1
3.000000 112 1
0.000000 113 0
0.000000 114 0
3.000000 115 1
0.000000 116 0
3.000000 117 1
3.000000 118 1
0.000000 119 0
3.000000 120 1
3.000000 121 1
Место нахождения 0 на некоторых из них. Можно ли это сделать, учитывая мой текущий запрос, и если да, то как?
Хотелось бы, чтобы определения таблицы, но вообще говоря, - это просто звучит так, как будто вы должны присоединиться к своей таблице вопросов к таблице ответов, а затем суммировать ответы. –
Вам понадобится таблица где-нибудь, у которой есть данные по отсутствующим вопросам. –
Я включил изображение диаграммы таблицы. Это помогает? – OmniOwl