PHP/MySQL 根据另一个表中的项目列表从表中选择


PHP/MySQL selecting from table based on list of items from another table?

我想知道如何根据另一个表中的另一个项目列表从一个表中选择项目列表?例如,我有两个表:

-朋友
--用户
--用户B

-新闻
--id
--消息
--时间戳
--用户标识

我想知道您如何从仅是特定用户朋友的人的新闻中获取所有消息。

这个问题对于StackOverflow来说太模糊了。本着含糊不清的精神,我将用同样模糊的答案来回答您的问题:您可以使用连接和/或 IN 关键字来实现这一点。将来,请务必查找如何在StackOverflow上提问,并确保告诉我们您尝试过的内容。

您可以在 SQL 中使用IN子句:

select *
  from news
 where userid in (select userb
                    from buddies
                   where usera=specified_user)
SELECT * FROM news 
LEFT JOIN buddies ON buddies.userid = news.userid
WHERE buddies.userid='usera'
AND news.userid='userb'

这应该为您提供用户 B 发布的用户 A 的所有"新闻"。