通过子查询简化 mysql 查询以在一个 table 中查找对

Simplification mysql query by subquery for finding pair in one table

我在 mysql 中关注 table:

id | pairType
1  | 2
2  | 2
3  | 1
4  | 1

我需要获取第二个值以按 ID 配对。我可以通过 2 个单独的 mysql 查询来做到这一点,但是将它放在一个 table 中会更舒服。

例如: 第一次查询:

SELECT `pairType`
        FROM `tmp`
        WHERE `id` = 1

//return 2

第二个查询:

SELECT `id`
        FROM `tmp`
        WHERE `id` != 1 AND `pairType` = 2

非常感谢

像这样的东西应该可以工作:

SELECT id
FROM tmp
WHERE pairtype = (SELECT pairtype FROM tmp WHERE id = 1)
    AND id <> 1

完全不清楚你在问什么。

但这里有一些随机猜测:

http://sqlfiddle.com/#!9/ee0096/4

SELECT t.id
FROM tmp t
INNER JOIN tmp t_
ON t_.pairtype = t.id
   t_.id = 1 ;


SELECT t.id
FROM tmp t
INNER JOIN tmp t_
ON t_.pairtype = t.pairtype
  AND  t_.id = 1 
WHERE t.id != 1