SELECT *加上与同一个表的另一列的ID相关联的所有行

时间:2015-07-12 03:43:17

标签: mysql select

我有一张桌子:user_relationship。我需要选择employee_id的所有行以及包含client_id(s)的所有其他行。

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

我可以请一点帮忙吗?

1 个答案:

答案 0 :(得分:0)

您需要使用子查询。这应该有用。

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

主题的文档