комбинаций (не перестановок) из перекрестного соединения в sql

Если у меня есть таблица, которую я хотел бы перекрестно соединить с собой, как я могу удалить повторяющиеся строки? Или, говоря другими словами, как я могу выполнить перекрестное соединение «порядок не имеет значения»?

Так, например, если у меня есть таблица T:

field |
-------
   A  |
   B  |
   C  |

, и я перекрестно соединяюсь с ней, так что я не т получить A | A rows

T as t1
cross join
T as t2
  on t1.field != t2.field

Я бы получил следующее:

field | field
------+-------
  A   |   B
  A   |   C
  B   |   A
  B   |   C
  C   |   A
  C   |   B

Однако для меня A, B это то же самое, что B, A.

Есть хороший способ удалить эти дубликаты? Другими словами, мне нужны комбинации, а не перестановки.

16
задан EoghanM 17 September 2011 в 07:05
поделиться