MySQL内连接在同一个表和对上

时间:2013-09-21 18:46:30

标签: mysql inner-join combinations

假设我内部通过其中一列连接表。我将在这个领域有一对多的关系。

例如假设我有下表并分别调用列col1和col2。

a 1
b 1
c 2
d 1

假设我内部连接数字列col2上的字母。我会有以下内容:

a a
a b
a d
b b
b a
b d
c c
d d
d b
d a

我想考虑这些结果,其中顺序无关紧要,因此(a,b)与(b,a)相同。如何更改查询以返回以下内容?

a a
a b
a d
b b
c c
d d

到目前为止,这是我的查询:

select s1.col1, s2.col1 from table1 s1 inner join table1 s2 on s1.col2 = s2.col2

请注意,此查询会显示不正确的结果,如上所示。提前谢谢!

1 个答案:

答案 0 :(得分:3)

select s1.col1, s2.col1 
from table1 s1 inner join table1 s2 
  on s1.col2 = s2.col2 and s1.col1 <= s2.col1