我在数据库中有两个表,名为用户(存储用户详细信息)和帖子(存储帖子详细信息)。现在我想从两个表中获取数据。与来自用户的user_image相似,并从发布发布说明。
我正在使用此查询
set
但它返回重复数据。我有2个用户和3个帖子,但它返回6个帖子。
答案 0 :(得分:0)
怎么样?
Select * FROM user u right join posts p on u.id = p.user_id
答案 1 :(得分:0)
使用group by,如下所示:
SELECT * FROM `users`AS u,`posts` WHERE u.user_id IN (SELECT user_id FROM `posts`) group by u.user_id
答案 2 :(得分:0)
尝试类似:
Select a.user_image, b.post_description from users as a join posts as b on a.user_id = b.user_id
做一个内部联接&你将获得理想的结果
在上面的查询中& b是两个不同表的别名。我不想使用别名,您也可以在select语句中将其写为users.user_image。
在select语句中的两个表中写下您想要的字段。
下图将帮助您了解内部联接
答案 3 :(得分:0)
如果要从两个表中获取数据,则需要使用连接。并确保两个表通过主键相互链接 所以用这个可以帮忙
select user_image,post_description from users join posts on users.user_id=posts.user_id;