繁体   English   中英

如何将多个查询合并到同一个表但不同的列中?

[英]How to combine multiple queries into same table but different columns?

所以我有两张我正在使用的表。

用户包括: ID , NAME , CITY

Follow 包括: 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;

连接表时最好使用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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM