Trong khi làm việc trên một hệ thống tôi là tạo ra, tôi cố gắng sử dụng các truy vấn sau đây trong dự án của tôi:MySQL - Operand nên chứa 1 cột (s)
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
": mèo" bị ràng buộc bởi PHP của tôi khi tôi đang sử dụng PDO. 2 là một giá trị hợp lệ cho ": cat".
truy vấn đó mặc dù mang lại cho tôi một lỗi: "# 1241 - Operand nên chứa 1 cột (s)"
gì gốc cây tôi là tôi sẽ nghĩ rằng truy vấn này sẽ làm việc không có vấn đề. Chọn cột, sau đó chọn hai cột khác từ bảng khác và tiếp tục từ đó. Tôi không thể tìm ra vấn đề là gì.
Có cách khắc phục đơn giản này hay cách khác để viết truy vấn của tôi không?
Cảm ơn bạn đã phản hồi. Tôi sẽ sửa chữa truy vấn của tôi, và đánh dấu bạn là câu trả lời, nhưng chỉ cho đầu vào, bạn có nghĩ rằng có cách "tốt hơn" để viết truy vấn của tôi so với những gì tôi đang sử dụng bây giờ (nhưng cũng bỏ qua lỗi trong đó)? –
Ah. Cảm ơn bạn đã chỉnh sửa bài đăng gốc của bạn. Tôi chắc chắn sẽ đánh dấu bạn là câu trả lời khi StackOverflow cho phép tôi. Cảm ơn rất nhiều! –
Vâng, 'COUNT()' đang ném mọi thứ ra một chút; truy vấn tôi đã đưa ra có thể sẽ gây ra lỗi do tập hợp. Bạn có thể cần phải di chuyển tập hợp đó vào truy vấn con, tùy thuộc vào mục tiêu truy vấn của bạn (hiện tại không rõ ràng với tôi). – cdhowie