我有一张桌子:user_relationship
。我需要选择employee_id
的所有行以及包含这些client_id
的所有其他行。
id | employee_id | client_id
1 | 365 | 12
2 | 874 | 63
3 | 365 | 48
4 | 471 | 12
5 | 471 | 48
6 | 522 | 90
SELECT * FROM `user_relationship` WHERE `employee_id` = 471
id | employee_id | client_id
4 | 471 | 12
5 | 471 | 48
但是我需要添加到该查询中,以便随后还选择与返回的
employee_id
相关的所有client_id
:id | employee_id | client_id
1 | 365 | 12
3 | 365 | 48
4 | 471 | 12
5 | 471 | 48
我可以帮忙吗?
最佳答案
您将需要使用子查询。这应该工作。
SELECT * FROM `user_relationship` WHERE `client_id` IN (SELECT `client_id` FROM `user_relationship` WHERE `employee_id` = 471)
这是关于https://dev.mysql.com/doc/refman/5.1/en/any-in-some-subqueries.html主题的文档
关于mysql - SELECT *以及与同一表的另一列的ID相关联的所有行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31364166/