2016-09-02 5 views
0

まあ、コンピュータのリストとその速度とRAMを持つテーブルがあります。例と同じ速度とRAMを持つすべてのコンピュータペアを取得するクエリを作成するにはどうすればよいですか?要素のペアを選択する

Model | Speed | ram 
1006 | 200 | 32 
1007 | 200 | 32 
1008 | 160 | 16 
1009 | 160 | 32 

ので額面は1006および1007になります:私はそう(i、j)の代わりに、(i、j)のこのような(j、i)に対して

何か、一度ペアを表示することができます

+2

? –

答えて

1

これは自己結合である:同じ速度とRAMを搭載した3台のコンピュータがある場合はどうなります

select c.model, c2.model, c.speed, c.ram 
from computers c join 
    computers c2 
    on c.speed = c2.speed and c.ram = c2.ram and c.model < c2.model; 
+0

ありがとう、それは私がそれを探していたものです。私はこれまでペアを取得していましたが、繰り返しました。この部分がどのくらい正確に動作し、c.model William

+1

これは、それを2つのペアのうちの1つに限定するものです。 1006,1007では返されますが、1007,1006では返されません –