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
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