我有一个包含字段和数据的表格,如下所示

create table connections(cn_from varchar(50), cn_to varchar(50), cn_status tinyint(1));

insert into connections(cn_from, cn_to, cn_status) values (111,222,1);
insert into connections(cn_from, cn_to, cn_status) values (111,333,1);
insert into connections(cn_from, cn_to, cn_status) values (111,444,1);
insert into connections(cn_from, cn_to, cn_status) values (111,555,1);
insert into connections(cn_from, cn_to, cn_status) values (222,333,1);
insert into connections(cn_from, cn_to, cn_status) values (222,444,1);
insert into connections(cn_from, cn_to, cn_status) values (555,222,1);
insert into connections(cn_from, cn_to, cn_status) values (666,111,1);
insert into connections(cn_from, cn_to, cn_status) values (777,111,1);
insert into connections(cn_from, cn_to, cn_status) values (121,111,1);

select cn_from, cn_to from connections where (cn_from = 111 and cn_status = 1) or (cn_to = 111 and cn_status = 1) ;


如何编写选择以查找由用户111添加的用户以及已添加用户111的用户?

在这种情况下,用户111的结果必须为:

222
333
444
555
666
777
121

最佳答案

您可以使用union满足此要求。

select cn_to from connections where cn_from = '111'
union all
select cn_from from connections where cn_to = '111'

关于mysql - MySql选择用户添加的用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58948456/

10-13 09:50