Ошибка MySQL: подзапрос возвращает более 1 строки - PullRequest
0 голосов
/ 14 февраля 2011

Получение ошибки: #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 

Что может быть не так?

Спасибо

Ответы [ 2 ]

0 голосов
/ 14 февраля 2011

Это запрос, который вы ищете?Не зная структуры вашей таблицы, мы никогда не узнаем, но это делает то, что, по-видимому, было сделано для вашего запроса.(Это вообще имеет какой-то смысл?)

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'
0 голосов
/ 14 февраля 2011

Ваш подзапрос возвращает более 1 строки.

Либо вы LIMIT подзапрос к одной строке, либо LEFT JOIN его с другой таблицей.

...