Красноречивые средние оценки через вложенные таблицы - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь выяснить, как получить средние ответы для следующих групп, но я не могу решить это !!

Вот мои настройки стола.

вопрос_группы имеет много вопросов

вопросов ManyToMany мест

вопросов HasMany question_items

мест имеет много представлений

посадочных мест ManyToMany версии

представлений имеет много ответов

Я хотел бы вернуть следующую структуру

{ name: "Comfort", labels: [ "Seat A", "Seat B5", "Seat C", "Seat D" ] data: [2.5, 2.9, 1.2, 4.5] }

Как мне найти среднее значение ответа, сгруппированного по местам и группам вопросов.

Я получил следующий код MySQL, но он выглядит неправильно, и тогда мне нужно будет отформатировать его, чтобы он выглядел выше.

SELECT question_groups.name as 'group', CONCAT(seats.name, ' - ', 
versions.name) AS 'seat', avg(answers.value) AS 'value'
FROM question_groups
JOIN questions ON questions.question_group_id = questions.id
JOIN questions_seats ON questions_seats.question_id = questions.id
LEFT JOIN seats ON seats.id = questions_seats.seat_id
LEFT JOIN seats_versions ON seats.id = seats_versions.seat_id
LEFT JOIN versions ON versions.id = seats_versions.version_id
JOIN submissions ON submissions.seat_id = seats.id
JOIN answers ON submissions.id = answers.submission_id
GROUP BY question_groups.name, seats.name, versions.name

Я бы предположил, что это проще с красноречивым использованием ресурсов API, но я не знаю, как работать со многими ко многим частям и получать средние значения для групп

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...