Мне нужен запрос для создания таблицы, подсчитывающей объем каждого значения в данном поле, но из-за недостатка данных в этой одной таблице пришлось присоединиться к другой таблице, чтобы получить одно дополнительное значение (NName):
Records_table-------------- Name_table---------
Ref Score Iteration Ref NName
1 High 1 1 Falcon
1 Middle 2 2 Willow
2 Middle 1 3 Lance
2 Middle 2 4 Ranger
2 Low 3
3 Low 1
4 High 1
4 High 2
4 High 3
Требуется вывод:
NName High Middle Low
Falcon 1 1 0
Willow 0 2 1
Lance 0 0 1
Ranger 3 0 0
Это то, что у меня есть: (Отредактировано, как я заметил, я оставил в поле SELECT («Ссылка»), которое я удалил в своей версии)
SELECT
tc.nname AS NName,
COUNT(High) High,
COUNT(Middle) Middle,
COUNT(Low) Low
FROM
(SELECT
NName, 'High' High, NULL Middle, NULL Low
FROM
records_table tr
JOIN name_table tc ON tc.ref = tr.ref
WHERE
tr.score = 'High'
UNION ALL
SELECT
NName, NULL, 'Middle', NULL
FROM
records_table tr
JOIN name_table tc ON tc.ref = tr.ref
WHERE
tr.score = 'Middle'
UNION ALL
SELECT
NName, NULL, NULL, 'Low'
FROM
records_table tr
JOIN name_table tc ON tc.ref = tr.ref
WHERE
tr.score = 'Low' ) T
GROUP BY NName;
Это происходит с ошибкой «ОШИБКА 1054 (42S22): неизвестный столбец« NName »в« списке полей »»
Что я сделал не так и что мне нужно, чтобы эта работа работала