Есть такая же ситуация, но тут не получилось.
Есть таблица AD_list к ней подтягиваю данные из all_pc, общий столбец System_Unit_Name.
запрос
Код:

CREATE TABLE IF NOT EXISTS all_pc_result_test AS
SELECT *
FROM AD_list
right join all_pc USING(System_Unit_Name)
WHERE Ping <> 'No'
GROUP BY System_Unit_Name HAVING max(printf('%s-%s-%s', substr(Data, length(Data) + 1, -4), substr(Data, instr(Data, '.') + 1, 2), substr(Data, 1, 2)));
На выходе получаю 11700 записей, но AD_list содержала 13800 записей, значит я получил не тот результат.
Я подозреваю, что это из-за GROUP BY, но там важные нужные мне условия выборки из таблицы all_pc. Как быть?