Trong khi làm việc trên hệ thống tôi đang tạo, tôi đã cố gắng sử dụng truy vấn sau trong dự án của mình:
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" bị ràng buộc bởi mã PHP của tôi khi tôi đang sử dụng PDO. 2 là giá trị hợp lệ cho ": cat".
Tuy nhiên, truy vấn đó mang lại cho tôi lỗi: "# 1241 - Toán hạng phải chứa 1 (các) cột"
Điều khiến tôi bối rối là tôi nghĩ rằng truy vấn này sẽ hoạt động không có vấn đề gì. Chọn cột, sau đó chọn hai cột khác từ một bảng khác và tiếp tục từ đó. Tôi chỉ không thể tìm ra vấn đề là gì.
Có cách khắc phục đơn giản nào cho vấn đề này hoặc cách khác để viết truy vấn của tôi không?