Twoje podzapytanie wybiera dwie kolumny, podczas gdy używasz go do wyświetlania jednej kolumny (jako część zewnętrznego SELECT
klauzula). W tym kontekście możesz wybrać tylko jedną kolumnę z takiego zapytania.
Rozważ dołączenie do users
zamiast tego tabela; zapewni to większą elastyczność przy wyborze kolumn, które chcesz od 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