1

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

例如,假设我有下表并分别调用列 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

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

4

1 回答 1

4
select s1.col1, s2.col1 
from table1 s1 inner join table1 s2 
  on s1.col2 = s2.col2 and s1.col1 <= s2.col1
于 2013-09-21T18:49:31.900 回答