[英]Combine two queries into one in same table (same columns/different rows)
[英]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.