Для этого нужно немного информации.
У меня есть список идентификаторов пользователей.У меня также есть 20 модулей, с которыми пользователь может быть связан, каждый модуль имеет количество сеансов, которые можно сосчитать.
У меня в настоящее время есть таблица, подобная этой:
UserID Module Count
A 1 3
A 2 3
B 1 2
B 3 2
C 1 3
C 2 3
C 3 3
Что такоеЯ пытаюсь добиться следующего:
Для каждого идентификатора пользователя мне нужно проверить, есть ли одна строка на модуль, учитывая все 20 модулей.То, как таблица настроена прямо сейчас, когда у пользователя ничего нет в модуле, у меня нет строки для модуля, с которым он не связан.Если пропущена строка, она должна создать строку для отсутствующего модуля и установить для Count значение 0.
Таким образом, предполагая, что в приведенной выше таблице рассматриваются только 3 модуля, мне необходимо преобразовать ее в:
UserID Module Count
A 1 3
A 2 3
A 3 0
B 1 2
B 2 0
B 3 2
C 1 3
C 2 3
C 3 3
Как бы я это сделал?
Я получаю свою первую строку, группируя другую таблицу для каждого модуля, где count - это количество строк в другой таблице.Однако это не относится к отсутствующим модулям, и мне все равно нужно сообщить о них как 0.