可能重复:
来自 sql 中的交叉连接的组合(不是排列)
我目前有一张包含以下记录的表格:
A1
A2
A3
B1
B2
C1
C2
其中相同的字母表示一些共同的标准(例如,“字母”列的共同值)。我按照以下标准进行自我加入:
SELECT mytable.*, self.* FROM mytable INNER JOIN mytable AS self
ON (mytable.letter = self.letter and mytable.number != self.number);
此连接提供如下内容:
A1 A2
A2 A1
A1 A3
A3 A1
A2 A3
A3 A2
B1 B2
B2 B1
C1 C2
C2 C1
但是,我只想将每一对包含一次(组合而不是排列)。我将如何获得以下信息:
A1 A2
A1 A3
A2 A3
B1 B2
C1 C2