我对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。
谢谢大家!
答案 0 :(得分:1)
您将把表加入自身:
SELECT *
FROM table t1
INNER JOIN table t2
ON t1.myid = t2.hisid
答案 1 :(得分:1)
在这种情况下,请使用Join操作。 查询将是:
SELECT * FROM table1 INNER JOIN table2 ON table1.myid=table2.hisid
答案 2 :(得分:0)
尝试一下:
select * from `table` t
where exists(select 1 from `table`
where hisid = t.myid)