5
同じテーブルに2回参加する最良の方法は何ですか?
これは少し複雑ですが、2つのテーブルがあります。構造が次のようなものであるとしましょう: *Table1* ID PhoneNumber1 PhoneNumber2 *Table2* PhoneNumber SomeOtherField テーブルは、Table1.PhoneNumber1-> Table2.PhoneNumber、またはTable1.PhoneNumber2-> Table2.PhoneNumberに基づいて結合できます。 次に、PhoneNumber1、PhoneNumber1、PhoneNumber2に対応するSomeOtherField、およびPhoneNumber2に対応するSomeOtherFieldを含む結果セットを取得します。 これを行うには2つの方法を考えました。テーブルを2回結合するか、ON句でORを使用して1回結合するかのどちらかです。 方法1: SELECT t1.PhoneNumber1, t1.PhoneNumber2, t2.SomeOtherFieldForPhone1, t3.someOtherFieldForPhone2 FROM Table1 t1 INNER JOIN Table2 t2 ON t2.PhoneNumber = t1.PhoneNumber1 INNER JOIN Table2 t3 ON t3.PhoneNumber = t1.PhoneNumber2 これは動作するようです。 方法2: なんとなくこのようなクエリを作成するには- SELECT ... FROM Table1 INNER JOIN Table2 ON Table1.PhoneNumber1 …