2

私は下のテーブルを持っています

Select X,Y from T
X | Y
------
1 | 2     
1 | 3      
2 | 1     
3 | 5     
3 | 1  

列 X と Y は文字列を保持します。例として数値を指定しました。

以下のように、このテーブルからの出力が必要です

1,2

1,3

3,5

つまり、テーブルからの一意のセット。行 1 (1,2) と行 3 (2,1) のうち、必要なセットは 1 つだけです。これは、私のセットでは (1,2)=(2,1) であるためです。同様に (1,3)=(3,1) です。したがって、このテーブルの一意のセットは (1,2) (1,3) と (3,5) です。

以下の SQL を試しました。ROWID で「>」または「<」を使用できるかどうかわからないため、より良い方法があれば教えてください。

SELECT X||','||Y FROM T t1
WHERE NOT EXISTS (SELECT 1 FROM T t2
WHERE t1.X=t2.Y AND t1.Y=t2.X and t1.ROWID>t2.ROWID)
4

2 に答える 2