我有两列数据
参考 > 目标 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)
但这只是列出了另一列中的内容,而不是匹配的内容。
我有两列数据
参考 > 目标 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)
但这只是列出了另一列中的内容,而不是匹配的内容。
SELECT DISTINCT t1.*
FROM myTable t1
JOIN myTable t2
ON t1.Refer = t2.Target
AND t1.Target = t2.Refer
我认为没有必要使这个查询过于复杂
SELECT refer FROM TABLE WHERE (refer = '1' and target = '4') or (refer ='4' and target = '1')
您可以为此使用自联接:
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