MySQL-如何通过隐藏的行sub_id过滤行

问题描述 投票:-1回答:1

我有2张桌子。第一部分是第二成员中的文章。我希望查询只显示具有给定ID($_GET['id'])的members_id的记录,而不显示具有给定ID ($_GET['id'])

的条目

articles表看起来像:

+----+------------+-----------------------+
| id | members_id | ArticleName           |
+----+------------+-----------------------+
|  1 |       1001 | Shirt Nologo          |
|  2 |       1001 | Nike Sneakers         |
|  3 |       1001 | Nike Sneakers for Men |
|  4 |       1031 | Adidas Shirt          |
+----+------------+-----------------------+

成员表看起来像:

+------+---------+
| id   | nick    |
+------+---------+
| 1001 | Member1 |
| 1031 | Member2 |
+------+---------+

我想要类似的东西:

+----+------------+-----------------------+
| id | members_id | ArticleName           |
+----+------------+-----------------------+
|  2 |       1001 | Nike Sneakers         |
|  3 |       1001 | Nike Sneakers for Men |
+----+------------+-----------------------+

带有这样的查询:

//$_GET['id'] == 1
SELECT t1.*,t2.nick FROM articles t1 LEFT JOIN members t2 ON t1.members_id=t2.id WHERE t1.id != '1' AND t1.members_id = t1.found_id
mysql sql select left-join
1个回答
0
投票

如果我的理解正确,您希望具有指定的id值的成员的所有ID,但不要使用该特定值。如果是这样:

select a.*
from articles a 
where exists (select 1
              from articles a2
              where a2.member_id = a.member_id and a2.id = :id
             ) and
      id <> :id
© www.soinside.com 2019 - 2024. All rights reserved.