自己結合(同じテーブルを複数回JOIN)

   

①テーブルTAにテーブルTBを2回ジョイントする場合

エラーとなる:

SELECT * FROM ( TA
LEFT JOIN TB ON ( TA.field1= TB.id ) )
LEFT JOIN TB ON ( TA.field2= TB.code) ;

うまくいく:

SELECT * FROM (TA
LEFT JOIN TB ON TA.[ field1 ] = TB. id )
LEFT JOIN TB as TB_1 on TA.[ field2 ] = TB_1. code

②自分自身のテーブル(TA)を2回ジョイントする

エラーとなる:

SELECT * FROM ( TA
LEFT JOIN TA ON ( TA. code = TA.id)

うまくいく:

SELECT * FROM (TA AS TA1
LEFT JOIN TA AS TA2 ON ( TA1. code = TA2. id )

 - AccessVBA開発