【问题标题】:Need an SQL query with multiple, dynamic "WHERE" condition需要具有多个动态“WHERE”条件的 SQL 查询
【发布时间】:2016-07-27 01:11:39
【问题描述】:

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

用户表标题: ID、account_name、密码、姓名、生日、描述

帖子表头: ID、user_ID、文本、日期

Friends 表头: 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 插入的变量。

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

【问题讨论】:

  • p.users_ID IN (....

标签: sql subquery inner-join


【解决方案1】:

你很亲密:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    相关资源
    最近更新 更多