所以我正在使用两个表。
用户包括:
ID
、名称
、城市
以下内容包括:
用户(id)
,关注(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;
最佳答案
连接表时最好使用 JOIN
语法。您可以使用下表作为基础,并通过使用 JOIN
对其进行转换以显示您需要的信息。在以下示例中,您将 follow 与用户表连接两次以获取用户和关注者信息。
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;
关于mysql - 如何将多个查询组合到同一个表但不同的列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59153514/