Спасибо Вам, добрый человек!
Сам шаблон вытягивается целиком, прям великолепно.
Но, я так понимаю, здесь таблица `pages` вообще не участвует в процессе, а разметка получается исключительно по ID таблицы `templates`, то есть, не получается вытянуть столбцы таблицы `pages`...
С WITH вообще ранее не сталкивался, погуглил, пояндексил, но не смог найти материал, способный объяснить, как можно "подружить" все 3 таблицы друг с другом, используя для выборки ID (либо какой-то другой идентификатор) таблицы `pages` с выгрузкой не только шаблона, но и параметров из `pages`.
Попытки расширить `result` и/или WITH запросом из `pages` + LEFT JOIN `templates` привели к ошибке: #4002 - WITH column list and SELECT field list have different column counts
Но Ваше решение, думаю, в любом случае приведет к желаемому результату))
P.S. некорректно выбрал тег для вопроса... MariaDB 10.11.6
mayton2019, так поле то такое есть, как и все остальные, перечисленные в посте и в самих запросах)
собственно, методом проб и ошибок выяснил, запрос внутри WITH "не знает" ни один из перечисленных столбцов.
Но рабочий вариант так и не соорудил.
Ряд небольших ошибок был с неймингом столбцов, если брать запрос из комментария (Например, неизвестный столбец p.id). Чутка поправил.
Но, к сожалению, ловим ошибку:
Также очень странно считались NULL, в таблице их несколько тысяч, но данный запрос выдавал 11.
В итоге использовал Ваш подход, немного переделав, родил такое вот чудо:
SELECT q1.c AS men, q2.c AS women, q3.t AS total FROM (SELECT COUNT(DISTINCT CASE WHEN people.gender = 'М' THEN list.id END) AS c FROM ListTable AS list LEFT JOIN PeopleTable AS people ON (list.userID = people.id)) q1, (SELECT COUNT(DISTINCT CASE WHEN people.gender = 'Ж' THEN list.id END) AS c FROM ListTable AS list LEFT JOIN peopleTable AS people ON (list.userID = people.id)) q2, (SELECT COUNT(list.id) AS t FROM ListTable AS list) q3
Таким образом, получил общее число, кол-во мужчин и женщин. А "неопределенных" пользователей уже можно спокойно высчитать.