php - MySQL #1241 - 计数时操作数应包含 1 列

标签 php mysql

我正在运行此查询,并且收到 ** #1241 - 操作数应包含 1 列** 错误:

  SELECT `forumCategories`.`id`, `forumCategories`.`name`, `forumCategories`.`order`, `forumCategories`.`description`, `forumCategories`.`date_created`, COUNT(forumPosts.forumCategory_id) as postCount,
    (SELECT `forumPosts`.*, `forumChildPosts`.`id`, `forumChildPosts`.`forumPost_id`, COUNT(forumChildPosts.forumPost_id) as childCount FROM `forumChildPosts` LEFT JOIN `forumPosts` ON `forumPosts`.`id` = `forumChildPosts`.`forumPost_id` GROUP BY `forumPosts`.`id`) AS childCount
    FROM `forumCategories` 
    LEFT JOIN `forumPosts` ON `forumCategories`.`id` = `forumPosts`.`forumCategory_id` 
    GROUP BY `forumCategories`.`id` 
    ORDER BY `forumCategories`.`order` DESC

我有 3 张 table :

forumCategories
forumPosts | forumPosts.forumCategory_id = forumCategories.id
forumChildPosts | forumChildPosts.forumPosts_id = forumPosts.id

我想计算论坛类别的所有帖子,并且我想计算属于该论坛类别的所有子帖子。我怎样才能做到这一点?

最佳答案

您无法使用子选择来选择多个项目,然后为它们指定一个名称。现在,您从forumPosts 获取所有内容,从forumChildPosts 等获取一些内容,并尝试将其放入单个列childCount 中。这是不允许的。

从该选择中删除所有其他结果列并仅保留 count 可能就足够了?

关于php - MySQL #1241 - 计数时操作数应包含 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34899797/

相关文章:

php - 将自定义总计行添加到 WooCommerce 管理订单总计

php - 将日期格式化为人类可读的格式

Mysql查询从同一个表中检索子数据和父数据

php - Laravel 使用原始字符串创建表

mysql - 选择与另一列的值匹配的列值

php - 如何向 mysql 表添加唯一的记录号

php - 使用PHP中的ssh2函数检查连接

php - 在 include() 之前使用变量

javascript - 动态添加一个空白行到html表格

php - 如何在 Volt (Phalcon) 中设置自己的 Tag 类