需要具有多个动态 "WHERE" 条件的 SQL 查询

Need an SQL query with multiple, dynamic "WHERE" condition

我需要一个查询来显示社交网络上下文中连接的用户及其朋友的所有帖子。

用户tableheaders: ID、account_name、密码、姓名、生日、描述

帖子tableheaders: ID、user_ID、文本、日期

朋友tableheaders: ID_user_1、ID_user_2

当前查询:

select p.ID, p.users_ID, p.text, p.date, u.ID, u.name
from post p
inner join users u
on p.users_ID = u.ID
where p.users_ID = 1 or p.users_ID=(
   select users_ID_2 from friends
   where users_ID_1 = 1)
order by date

注:当前users_ID (1) 将是通过PHP插入的变量。

我的问题是我的子查询returns多行,即每个连接用户的朋友的ID。

你很接近:

select p.ID, p.users_ID, p.text, p.date, u.ID, u.name
from post p
inner join users u
on p.users_ID = u.ID
where p.users_ID = 1 
   or p.users_ID IN 
    (select users_ID_2 from friends
      where users_ID_1 = 1)
order by date