Если у параметров есть только значения, то можно их сложить в одну строку. В дальнейшем это строку обратно в массив можно будет разобрать с помощью функции
explodeSELECT
site_tmplvar_contentvalues.contentid,
GROUP_CONCAT(site_tmplvar_contentvalues.value) AS 'values', -- все значения value складываем в одну строку. Разделитель по умолчанию - запятая, его можно поменять используя ключевое слово SEPARATOR
site_content.id,
site_content.pagetitle
FROM
site_content
INNER JOIN site_tmplvar_contentvalues
ON site_content.id = site_tmplvar_contentvalues.contentid
AND site_content.parent = 17
AND site_tmplvar_contentvalues.tmplvarid IN (2, 13, 14)
GROUP BY site_tmplvar_contentvalues.contentid -- добавляем группировку
Если же у параметров есть еще и названия, то уже придется упаковывать данные в строку способом посложнее. Например, преобразовать в JSON. В таком случае на стороне PHP вам понадобится функция
json_decode чтобы преобразовать эти данные обратно в массив или объект.
Так как названия поле с ключом не указано, я предопожу то это
site_tmplvar_contentvalues.key. Тогда запрос будет выглядеть так
SELECT
site_tmplvar_contentvalues.contentid,
CONCAT('[', GROUP_CONCAT(JSON_OBJECT('key', site_tmplvar_contentvalues.key, 'value', site_tmplvar_contentvalues.value)), ']') AS 'values',
site_content.id,
site_content.pagetitle
FROM
site_content
INNER JOIN site_tmplvar_contentvalues
ON site_content.id = site_tmplvar_contentvalues.contentid
AND site_content.parent = 17
AND site_tmplvar_contentvalues.tmplvarid IN (2, 13, 14)
GROUP BY site_tmplvar_contentvalues.contentid -- добавляем группировку