Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql #1242-子查询返回超过1行_Mysql - Fatal编程技术网

Mysql #1242-子查询返回超过1行

Mysql #1242-子查询返回超过1行,mysql,Mysql,这是我的查询,但抛出了一个错误。有人能帮忙吗?谢谢 这里有三张桌子 特布卢瑟 T领主 特波德雷德姆 tbluser的字段fld_id作为fld_用户id是tblorder的外键。 tblorder的fld_id是tblordereditems作为fld_order_id的外键,我得到的结果是订购了5个以上数量的产品的fld_userid,即fld_product_数量的总和,按tblorder对其进行分组。fld_userid返回的行数超过1行,因为您正在请求所有用户的计数 尝试: 它返回超过1

这是我的查询,但抛出了一个错误。有人能帮忙吗?谢谢

这里有三张桌子

  • 特布卢瑟
  • T领主
  • 特波德雷德姆
  • tbluser的字段fld_id作为fld_用户id是tblorder的外键。

    tblorder的fld_id是tblordereditems作为fld_order_id的外键,我得到的结果是订购了5个以上数量的产品的fld_userid,即fld_product_数量的总和,按tblorder对其进行分组。fld_userid返回的行数超过1行,因为您正在请求所有用户的计数

    尝试:


    它返回超过1行,因为您正在请求所有用户的计数

    尝试:


    它计算每个组的总和,因为group BY我认为错误消息说明了一切。您的子查询,
    WHERE
    子句和
    >5
    之间的部分返回多行,您试图将它们全部与
    5
    进行比较。它计算每个组的总和,因为group BY我认为错误消息说明了一切。您的子查询,
    WHERE
    子句和
    >5
    之间的部分返回多行,您试图将它们全部与
    5
    进行比较。您不需要按tb2分组。fld_userid在子查询中您是对的,我复制并粘贴了他的代码:P,谢谢!我正在编辑iti尝试过,但仍然不起作用,它会返回用户每次订购的所有订单。我希望订单按照用户分组,而不是每次用户订购。如果您在子查询中放置
    ,其中tb2.fld_userid=tb1.fld_userid
    ,它无法返回所有用户的所有订单…您不需要分组tb2.fld_userid在subqueryyou's right,我复制并粘贴他的代码:P,谢谢!我正在编辑iti尝试过,但仍然不起作用,它会返回用户每次订购的所有订单。我希望通过根据用户分组来获得订单,而不是每次用户订购。如果您在子查询中放入
    其中tb2.fld_userid=tb1.fld_userid
    ,则无法返回所有用户的所有订单。。。
    SELECT tblorder.fld_userid
    FROM `tblordereditems`
    inner JOIN tblorder ON tblorder.fld_id = tblordereditems.fld_order_id
    where (SELECT sum( tblordereditems.fld_product_quantity )FROM tblordereditems inner JOIN tblorder ON tblorder.fld_id =tblordereditems.fld_order_id GROUP BY tblorder.fld_userid)>5  
    
    Select tb1.fld_userid
    FROM `tblordereditems` tbi1
    inner JOIN tblorder tb1 ON tb1.fld_id = tbi1.fld_order_id
    where (
            SELECT sum( tbi2.fld_product_quantity ) 
            FROM tblordereditems tbi2 inner JOIN tblorder tb2 ON tb2.fld_id =tbi2 .fld_order_id 
             where tb2.fld_userid = tb1.fld_userid
    )>5