我有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
如果我的理解正确,您希望具有指定的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