在其他表的多行中选择有条件的行

Posted

技术标签:

【中文标题】在其他表的多行中选择有条件的行【英文标题】:select rows with condition in multi rows of other table 【发布时间】:2013-11-29 19:38:18 【问题描述】:

我想显示用户关注的所有帖子。我有两个表是post_tbfollow_tb,链接列是post_tb.user_idfollow_tb.follower_id。 如果我在表上显示所有帖子,我会得到这样的 sql 条件

"select * from post_tb order by date_time desc;"

这是 sql 条件,仅显示他们关注的帖子。

"select * from post_tb where user_id in(select follow_to_id from follow_tb where follow_tb.follower_id='$sessionid') order by date_time des;"

它们都可以工作,但是当记录数增加时,第二个 sql 会很慢。有没有更好的办法? 谢谢你的回答

【问题讨论】:

【参考方案1】:

子查询很慢,而不是使用连接

select * from post_tb  p
join follow_tb f ON(p.user_id = f.follow_to_id )
where f.follower_id='$sessionid'
order by date_time desc;

【讨论】:

以上是关于在其他表的多行中选择有条件的行的主要内容,如果未能解决你的问题,请参考以下文章

WPF DataGrid 如何对选择的多行进行删除

在反应中选择并拖动多行

选择字段名称中的一个值出现在多行中的行

选择具有最长日期和其他条件的行

在一个查询中选择计数和其他记录

在R中选择多行以ID为条件