Php 如何从多个表中选择数据
我目前正试图为我的网站建立一个转发系统,但我遇到的问题是,我将posts表与retweets表分开,我找不到一种简单的方法将它们合并在一起 这些是我的桌子结构Php 如何从多个表中选择数据,php,mysql,sql,database,Php,Mysql,Sql,Database,我目前正试图为我的网站建立一个转发系统,但我遇到的问题是,我将posts表与retweets表分开,我找不到一种简单的方法将它们合并在一起 这些是我的桌子结构 retweets { retweet_id, retweet_post_id, retweet_user_id, retweet_time } posts { post_id, post_type, post_user_id, post_data, po
retweets {
retweet_id,
retweet_post_id,
retweet_user_id,
retweet_time
}
posts {
post_id,
post_type,
post_user_id,
post_data,
post_private,
post_poster_ip,
post_time
}
因此,我试图获取这两个表,并按最近的表对它们进行排序(因此,如果转发是最近的,它将显示在行的第一个)。我怎么能这样做?还是在一个表中完成所有操作更有效?您需要使用内部联接,通过适当的外键联接表:
SELECT
*
FROM
posts
INNER JOIN
retweets
ON
posts.post_id=retweets.retweet_post_id
如有必要,请阅读此处有关连接的内容:
还是在一张桌子里完成更有效
阅读有关要学习的内容,了解如何正确拆分表。因此,您可以避免并减少重复信息的数量。您可以使用
JOIN
组合集合(基于匹配retweet\u id
和post\u id
),并使用ORDER BY
根据retweet\u时间进行排序
SELECT *
FROM retweets
JOIN posts
ON retweets.retweet_id=posts.post_id
ORDER BY retweet_time DESC
您可以在SQL查询中使用连接,将其与一个表联系起来,然后在完成该工作后,尝试使用两个表进行连接