![](/img/trans.png)
[英]MySQL query to select one table based on values from two different tables.
[英]Select from one table based on another tables values
我有一个问题,是否有可能在同一查询中从一个表中基于另一个表的值进行选择。 在我的情况下,我有两个名为follow
和score
表。
跟随
------------------------
| follower | following |
------------------------
| Uname2 | Uname1 |
------------------------
得分
--------------------
| username | score |
--------------------
| Uname1 | 1 |
--------------------
| Uname1 | 2 |
--------------------
我要帮忙的是首先获取用户关注的对象,然后获取该用户的总得分。 我尝试使用内部连接等,但无法正常工作。
询问
"SELECT follow.following, score.SUM('score') FROM follow INNER JOIN score ON follow.following=score.username WHERE follow.follower='Uname2'";
要获得一条记录,请使用以下命令:
SELECT
f.following,
SUM(s.score) as score
FROM
Follow f, Score s
WHERE
f.following = s.username
AND f.follower = 'Uname2'
要获得每次尝试的总和:
SELECT
f.follower,
f.following,
SUM(s.score) as score
FROM
Follow f, Score s
WHERE
f.following = s.username
GROUP BY f.follower
这是一个小提琴的例子。
您可能需要在此处包括GROUP BY
子句,在查询末尾添加GROUP BY follow.following
。
像这样使用GROUP BY 。 希望它会有所帮助。
SELECT follow.following, score.SUM('score') FROM follow INNER JOIN score ON follow.following=score.username WHERE follow.follower='Uname2' GROUP BY follow.following
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.