sql >> Base de Datos >  >> RDS >> Mysql

MySQL:el operando debe contener 1 columna (s)

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