group by with join和subquery无法看到父表别名

时间:2015-10-07 21:12:09

标签: mysql database

我正在建立一个问答小组。

表格:

  • 用户 - 典型的id,name等...,
  • 回复 - 用户的回复
  • 评分 - 与回复相关的其他用户评分(1或-1),每个评分都有一行

我需要为每个用户提供一行相关表格,每个用户只有一行评分他的答案一次。他每人得20分。我还需要当评分者为60分发送2个或更多评级时(不包括在示例中),但如果我有解决方案,我可以扩展它。 以下查询出现问题:子查询无法查看" user"别名,它说找不到user.id. 提前致谢!

SELECT user.*, (
        SELECT COUNT(*) * 20
        FROM (
            SELECT SUM(rating_value) AS rv
            FROM Ratings
            LEFT JOIN Replies ON Replies.id = Ratings.replyId
            WHERE rating_value > 0
                AND Replies.userId = user.id
            GROUP BY Ratings.userId
            HAVING (rv = 1)
            ) ss
        ) AS points
FROM users user

0 个答案:

没有答案