0

得到错误:#1242 - Subquery returns more than 1 row

在执行此操作时

SELECT `Index` , `FundName` ,Count(*), 
    (SELECT COALESCE(sum(b.PricePerWeek),0) 
     FROM tbl_FundSubscriptions
     WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= SubscribeDt  
     GROUP BY FundIDSend)

FROM tbl_FundSubscriptions b, tbl_FundStatic a

WHERE a.FundID = b.FundIDSend

AND FundIDSend IN 
    (SELECT FundID
     FROM tbl_FundStatic
     WHERE UserID = '14')

GROUP BY a.FundName,a.Index 

有什么问题?

谢谢

4

2 回答 2

0

您的子查询返回超过 1 行。

要么LIMIT是对一行的子查询,要么LEFT JOIN是对另一张表的子查询。

于 2011-02-14T13:44:10.543 回答
0

这是您要查找的查询吗?不知道您的表结构,我们永远不会知道,但这确实是您的查询似乎已经缩进要做的事情。(这有任何意义吗?)

SELECT `Index`, `FundName`, COUNT(*), 
    (SELECT SUM(`PricePerWeek`)
     FROM `tbl_FundSubscriptions`
     WHERE DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= `SubscribeDt` 
           AND `FundIDSend` = `tbl_FundStatic`.`FundID`)

FROM `tbl_FundStatic`

WHERE `UserID` = '14'
于 2011-02-14T14:05:13.977 回答