MySQL不同版本其他结果

标签 mysql mysql-error-1242

嘿,我在 windows 5.1.39-community 和 linux 5.1.39-log 上有两个版本的 mysql 我执行查询:

SELECT `o`.`idOffer`, 

       `o`.`offer_date`, 
       `p`.`factory`, 
       `c`.`short` AS `company`, 
       `s`.`name` AS `subcategory`, 
       `ct`.`name` AS `category`,
       count( (select count(1) from product where idProduct=idOffer group by idOffer) ) as b
 FROM `Offer` AS `o` 
 LEFT JOIN `Product` AS `p` ON o.idOffer = p.idOffer 
 LEFT JOIN `company` AS `c` ON o.company = c.id 
 LEFT JOIN `Subcategory` AS `s` ON s.idSubcategory = o.idSubcategory 
 LEFT JOIN `Category` AS `ct` ON ct.idCategory = s.idCategory 
 WHERE (o.idOffer = p.idOffer) GROUP BY `o`.`idOffer`

在 windows 上它按预期工作,但在 linux 上它说:

ERROR 1242 (21000): Subquery returns more than 1 row

有什么方法可以让它在 linux 上运行而无需任何 mysql 更新/降级?

最佳答案

由于您的 SQL "as b"columnResult 专门基于 SQL,并且 idOffer 的 WHERE 子句已经符合条件并且应该相同,所以我将删除该柱状元素的分组依据。我只能假设可能有一些空白数据或其他被错误地包含在内,并且“ID1”不同于“ID1”被错误地解释。

关于MySQL不同版本其他结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848101/

相关文章:

MySql程序错误:1242

MySQL UNION 查询,不同的 ID

Android - 基于EditText的数据库查询

mysql - 插入引用外键的交集表

MySQL 到 SQL Server 的迁移和 Hibernate/Spring MVC

mysql - 查询select multiple count from table 1 join table 2 in multiple condition

Mysql 查询 - 子查询返回多于 1 行错误

insert-into - 插入多个选择并给出 ERROR 1242 : Subquery returns more than 1 row

mySQL,需要帮助将许多子查询转换为 1 个 SELECT 查询(显示 13 列)

mysql - SQL使用子查询从多个表中选择数据(包括来自内连接的数据)错误: 1242