0

我有两列数据

参考 > 目标
1 > 4
1 > 7
2 > 5
3 > 6
4 > 1

我想在 MySQL 中运行一个查询,该查询选择其目标也选择的每个引用。所以,1 > 4 和 4 > 1。

我能得到的最远的是:

SELECT refer FROM table WHERE refer IN
(SELECT target FROM table)

但这只是列出了另一列中的内容,而不是匹配的内容。

4

3 回答 3

1
SELECT DISTINCT t1.*
FROM myTable t1
JOIN myTable t2
  ON t1.Refer = t2.Target
  AND t1.Target = t2.Refer
于 2012-04-25T23:10:08.563 回答
0

我认为没有必要使这个查询过于复杂

SELECT refer FROM TABLE WHERE (refer = '1' and target = '4') or (refer ='4' and target = '1')
于 2012-04-25T23:10:09.583 回答
0

您可以为此使用自联接:

SELECT a.refer, a.target FROM tbl a
INNER JOIN
(
    SELECT refer, target FROM tbl
) b

ON a.target = b.refer AND a.refer = b.target
于 2012-04-25T23:10:16.310 回答