MySQL - El operando debe contener 1 columna (s)

Mientras trabajaba en un sistema que estaba creando, intenté usar la siguiente consulta en mi proyecto:

SELECT
topics.id,
topics.name,
topics.post_count,
topics.view_count,
COUNT( posts.solved_post ) AS solved_post,
(SELECT users.username AS posted_by,
    users.id AS posted_by_id
    FROM users
    WHERE users.id = posts.posted_by)
FROM topics
LEFT OUTER JOIN posts ON posts.topic_id = topics.id
WHERE topics.cat_id = :cat
GROUP BY topics.id

": cat" está limitado por mi código PHP ya que estoy usando PDO. 2 es un valor válido para ": cat".

Sin embargo, esa consulta me da un error: "# 1241 - El operando debe contener 1 columna (s)"

Lo que me sorprende es que pensaría que esta consulta no funcionaría sin problemas. Seleccionando columnas, luego seleccionando dos más de otra tabla y continuando desde allí. Simplemente no puedo averiguar cuál es el problema.

¿Existe una solución simple para esto, u otra forma de escribir mi consulta?

Respuestas a la pregunta(5)

Su respuesta a la pregunta