【问题标题】:Exclude user list(s) from list of members (union?)从成员列表中排除用户列表(工会?)
【发布时间】:2011-09-15 12:24:30
【问题描述】:

非常感谢您对以下问题的指导。

我正在尝试通过消除其他列表中已存在的用户来显示用户列表(对用户)。

例如,我想向用户显示我的所有网站用户,减去他的阻止列表。

我认为我需要使用 UNION 运算符,但之前没有这样做的经验。

会是这样的吗?

SELECT * FROM myMembers WHERE id='$id'
UNION
SELECT * FROM blocked WHERE id!='$id'
UNION
.
.
.

只是感觉不对...我的数据库方案是:

myMembers
-----------------------
id        username
-----------------------
1              x
2              y
3              z

Blocked
---------------------------------------------------------
id        mem1        mem2
---------------------------------------------------------
1              2              1
2              4              1

mem2 = 执行阻止的用户。

【问题讨论】:

    标签: php mysql join union


    【解决方案1】:
    SELECT * FROM myMembers WHERE id NOT IN (SELECT * FROM Blocked WHERE mem2!='$userid')
    

    其中 userid 是您要向其显示列表的用户的 ID

    【讨论】:

      【解决方案2】:

      以下内容如何:

      SELECT DISTINCT * FROM myMembers 
      WHERE id NOT IN (
        SELECT id FROM Blocked 
        WHERE mem2 = '$user_viewing_list'
      )
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-07
        • 2011-09-18
        • 2023-02-10
        • 1970-01-01
        • 2018-04-23
        • 1970-01-01
        • 2021-03-08
        • 2012-02-10
        相关资源
        最近更新 更多