获取错误:#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
可能出现什么问题?
由于
答案 0 :(得分:0)
您的子查询返回的行数超过1行。
您可以将子查询LIMIT
添加到一行,也可以LEFT JOIN
将其与另一个表一起使用。
答案 1 :(得分: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'