У меня есть две таблицы:Объединить две таблицы и группы по проблемам
Проблемы
id | name
Ответы
id | problem_id | user_id | value
У меня есть следующее заявление.
SELECT
`problems`.name,
problem_id,
sum(value) as knowledge,
COUNT(*) as attempts FROM `responses`
LEFT JOIN `problems` ON `problems`.id = `responses`.problem_id
WHERE problem_id IS NOT NULL AND user_id = 4
GROUP BY problem_id
Он производит список как так:
| name | problem_id | knowledge | attempts |
| NULL | 1 | 6 | 6 |
| NULL | 2 | 5 | 6 |
| NULL | 3 | 4 | 6 |
| NULL | 4 | 3 | 5 |
я пропускаю что-то и я был бы признателен, если кто-то может помочь формат:
| name | problem_id | knowledge | attempts |
| Problem A | 1 | 6 | 6 |
| Problem B | 2 | 5 | 6 |
| Problem C | 3 | 4 | 6 |
| Problem D | 4 | 3 | 5 |
Пожалуйста, прекратите использование 'GROUP BY' таким образом. Это не стандарт ANSI. – Kermit
Как я могу ориентироваться на стандарты ANSI? – youanden
Рассмотрите возможность предоставления надлежащих DDL и/или sqlfiddle ВМЕСТЕ С УДАЛЕННЫМ РЕЗУЛЬТАТОМ – Strawberry