1

列の 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