mysql-如何按隐藏行子id筛选行

oogrdqng  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(303)

我有两张table。第一个是第二个成员的文章。我想要一个只显示成员id为给定id的记录的查询( $_GET['id'] )但不是给定id的条目 ($_GET['id']) articles表如下所示:

  1. +----+------------+-----------------------+
  2. | id | members_id | ArticleName |
  3. +----+------------+-----------------------+
  4. | 1 | 1001 | Shirt Nologo |
  5. | 2 | 1001 | Nike Sneakers |
  6. | 3 | 1001 | Nike Sneakers for Men |
  7. | 4 | 1031 | Adidas Shirt |
  8. +----+------------+-----------------------+

成员表如下所示:

  1. +------+---------+
  2. | id | nick |
  3. +------+---------+
  4. | 1001 | Member1 |
  5. | 1031 | Member2 |
  6. +------+---------+

我想要这样的东西:

  1. +----+------------+-----------------------+
  2. | id | members_id | ArticleName |
  3. +----+------------+-----------------------+
  4. | 2 | 1001 | Nike Sneakers |
  5. | 3 | 1001 | Nike Sneakers for Men |
  6. +----+------------+-----------------------+

对于这样的查询:

  1. //$_GET['id'] == 1
  2. SELECT t1.*,t2.nick
  3. FROM articles t1
  4. LEFT JOIN members t2 ON t1.members_id=t2.id
  5. WHERE t1.id != '1'
  6. AND t1.members_id = t1.found_id
pobjuy32

pobjuy321#

如果我理解正确,您需要具有 id 您指定的值--但不是那个特定的值。如果是:

  1. select a.*
  2. from articles a
  3. where exists (select 1
  4. from articles a2
  5. where a2.member_id = a.member_id and a2.id = :id
  6. ) and
  7. id <> :id

相关问题