Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查找两列中都有的两个人id_Mysql - Fatal编程技术网

Mysql 查找两列中都有的两个人id

Mysql 查找两列中都有的两个人id,mysql,Mysql,下面是我所拥有的 +++++++++++++++++ +id1 + id2 + +++++++++++++++++ + 1 + 2 + + 2 + 1 + + 1 + 3 + + 3 + 2 + + 4 + 5 + + 5 + 4 + +++++++++++++++++ 我想找到的是两列中的两个人的id 下面是我要的 +++++++++++++++++ +id1 + id2 +

下面是我所拥有的

+++++++++++++++++
+id1    +   id2 +
+++++++++++++++++
+  1    +    2  +
+  2    +    1  +
+  1    +    3  +
+  3    +    2  +
+  4    +    5  +
+  5    +    4  +
+++++++++++++++++
我想找到的是两列中的两个人的id

下面是我要的

+++++++++++++++++
+id1    +   id2 +
+++++++++++++++++
+  1    +    2  +
+  2    +    1  +
+  4    +    5  +
+  5    +    4  +
+++++++++++++++++
或 或 你知道如何做到这一点吗


这应该让你开始:

SELECT
    mytable1.id1, mytable1.id2
FROM
    myTable mytable1,
    myTable mytable2
WHERE
    mytable1.id1 = mytable2.id2
    AND
    mytable2.id1 = mytable1.id2
ORDER BY
    mytable1.id1

基本id列表如下所示:

select distinct t1.id1
from mytable t1
join mytable t2 on t1.id1 = t2.id2;
如果需要行,请执行以下操作:

如果需要任意两行:

select distinct t1.*
from mytable t1
join mytable t2 on t1.id1 = t2.id2
limit 2;

你试过什么吗?使用同一个表的
内部联接
可能会有所帮助,正如我所说的,我想我理解问题的标题,但是您需要的三个结果集令人困惑。大概只有一个结果集可以从中产生?你之前有或。。。我刚刚将它更新为,并且它工作了&我不需要特别的工具。您的查询中有一个给了我想要的结果。请参阅@FahimParkar——通常,最好选择有用的答案,并根据您的需要进行修改——只有您确切地知道自己想要什么。我敢说,对那些试图帮助你的人投反对票并不完全符合StackOverflow的精神,特别是如果他们有很好的代表性的话。
select distinct t1.id1
from mytable t1
join mytable t2 on t1.id1 = t2.id2;
select distinct t1.*
from mytable t1
join mytable t2 on t1.id1 = t2.id2;
select distinct t1.*
from mytable t1
join mytable t2 on t1.id1 = t2.id2
limit 2;