Я хочу получить значения из 3 таблицы, где я получаю ошибку «Sub query возвращает более 1 строки».MySql throws error Подзапрос возвращает более 1 строки
Мое понятие состоит в том, чтобы получить все сообщение, в котором я должен рассчитать сумму голосов от таблицы ttpostvotes относительно каждого сообщения, и если при условии, что userid проголосовали за эту должность, тогда будет показано количество сообщений, например 1 или - 1.
Мой запрос, как показано ниже:
SELECT r.PostId, r.`Post`,r.PostTime, coalesce(x.Votes, 0) as Votes ,
(Select Votes From `ttpostvotes` where UserId=30 and x.PostId=r.PostId) as IsUservoted,
(Select Count(*) From ttreply where PostId=r.PostId) AS ReplyCount FROM `ttpost` r
left join (SELECT PostId, sum(Votes) as Votes FROM `ttpostvotes` GROUP BY PostId) x ON
x.PostId = r.PostId WHERE r.OffensiveCount<3 and r.SpamCount<5 and r.OtherCount<7 and r.`PeekId`=101 ORDER BY `r`.`PostTime` DESC
В 3 таблицы похожи, как показано ниже: ttpost
ttpostvotes
ttreply