mua*_*925 4 mysql sql database join
所以我有两张我正在使用的表。
用户包括:
ID, NAME,CITY
遵循其中包括:
User(id),Follow(id)
我正在尝试编写一个查询,该查询返回一个包含用户姓名、关注者姓名和关注者城市的表格。我写了这个查询,它返回正确的信息,但每行打印 8 次,我不知道为什么。
这是我的代码的链接 https://www.db-fiddle.com/f/aDPgZFknC1ybteWM6hwoFJ/3
FROM
(SELECT user.name
from follow, user
where follow.user = user.id) as NAME,
(Select user.name
from follow, user
where follow.follow = user.id) as FOLLOWER,
(select city
from user
right join follow
on user.id = follow.follow) AS CITY;
Run Code Online (Sandbox Code Playgroud)
小智 5
连接表时最好使用JOIN语法。您可以将下表作为您的基础,并通过使用将其转换JOIN为显示您需要的信息。在以下示例中,您将 follow 与 user 表连接两次以获取用户和关注者信息。
SELECT U.name, U2.name, U2.city
FROM follow AS f
JOIN user AS U
ON f.user=U.id
JOIN user AS U2
ON f.follow=U2.id;
Run Code Online (Sandbox Code Playgroud)