多行查询mysql

niknxzdl  于 2021-06-19  发布在  Mysql
关注(0)|答案(3)|浏览(283)

我对mysql完全陌生。
当myid=hisid,并且hisid=myid在不同行之间时,我试图确定一个查询来检查我的数据库是否匹配。
我明白为什么这个代码:

SELECT * FROM table 
WHERE myid = hisid

没用,因为我要找的是不同的一排。
示例表:

id| myid| hisid|
__|_____|______|
1 |  1  |  2   |
2 |  1  |  3   |
3 |  2  |  1   |

输出应该是id 1和id 2。
提前谢谢大家!

5vf7fwbs

5vf7fwbs1#

您将把表联接到自身:

SELECT * 
FROM table t1
   INNER JOIN table t2
      ON t1.myid = t2.hisid
hfwmuf9z

hfwmuf9z2#

对于这种情况,请使用join操作。查询将是:

SELECT * FROM table1 INNER JOIN table2 ON  table1.myid=table2.hisid
wlp8pajw

wlp8pajw3#

试试这个:

select * from `table` t
where exists(select 1 from `table`
             where hisid = t.myid)

相关问题