MySQL кросс-таблица подсчитывает количество идентификаторов, принадлежащих категориям - PullRequest
0 голосов
/ 14 февраля 2020

В mySQL У меня есть таблица ID_Cat ниже, показывающая каждый идентификатор, принадлежащий к какой категории. Некоторые идентификаторы могут принадлежать к нескольким категориям.

enter image description here

Я хотел бы провести подсчет crosstab и заполнить счет идентификаторов, как показано ниже как матрица.

enter image description here

В настоящее время у меня есть один выбор для подсчета, а затем оператор обновления для каждой ячейки, как показано ниже. Есть ли лучший способ сделать это?

select count(*) into Int_Count
from 
( 
select ID_Member,count(distinct Cat_Name)
from ID_Cat
where Cat_Name='Cat1'
group by ID_Member
having count(distinct Cat)=1
) t;

update crosstab
set Cat1=In_count
where Cat_name='Cat1';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...