自己結合で失敗

仕事関係で自己結合を使ったのだけど、えらいことにしてしまった。時間かかりまくっても結果がでなかった。
クエリをよく見て考えると、同じレコード同士を結合しているので、最低でも元々のテーブルのレコード数はある。せめて、同じプライマリキーは結合しないって条件をいれるべきだったか。他のクエリで出した情報から推測してみる。結合条件にしていたカラムで同じ値がいくつあるかを調べてみると、最大のもので42個あった。つまり、42×42=約1600くらいだから、ここだけで1600も結果が増えていたのか。2番目に多いのが38とかでまた1600弱増えて…
だから、かなり多くなっていたのかもしれない。少なくとも条件をもっと増やすべきだったか。もっとSQL文を書かないと、予測結果があまいし、もっといい方法を考えられないし。何より、発想を逆にするということがほとんど浮かばない。