想要从不同的表中选择数据

时间:2017-05-13 11:34:18

标签: php mysql

我在数据库中有两个表,名为用户(存储用户详细信息)和帖子(存储帖子详细信息)。现在我想从两个表中获取数据。与来自用户的user_image相似,并从发布发布说明。

我正在使用此查询

set

但它返回重复数据。我有2个用户和3个帖子,但它返回6个帖子。

4 个答案:

答案 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语句中的两个表中写下您想要的字段。

下图将帮助您了解内部联接

Inner Join Circle for understanding

答案 3 :(得分:0)

如果要从两个表中获取数据,则需要使用连接。并确保两个表通过主键相互链接 所以用这个可以帮忙

select user_image,post_description from users join posts on users.user_id=posts.user_id;