Su subconsulta está seleccionando dos columnas, mientras que la está usando para proyectar una columna (como parte del SELECT
externo cláusula). Solo puede seleccionar una columna de dicha consulta en este contexto.
Considere unirse a los users
mesa en su lugar; esto le dará más flexibilidad al seleccionar las columnas que desea de users
.
SELECT
topics.id,
topics.name,
topics.post_count,
topics.view_count,
COUNT( posts.solved_post ) AS solved_post,
users.username AS posted_by,
users.id AS posted_by_id
FROM topics
LEFT OUTER JOIN posts ON posts.topic_id = topics.id
LEFT OUTER JOIN users ON users.id = posts.posted_by
WHERE topics.cat_id = :cat
GROUP BY topics.id