AccessのSQLでは、2つのテーブルを結合する場合は普通にLEFT JOIN
するだけです。
ところが3つ以上のテーブルを普通に結合しようとするとエラーになります。
なんだこれと思って調べてみると、AccessのSQLだけ一筋縄ではいかないようです。
分かりにくくて難しいです…
3つのテーブルを結合
3つのテーブルを結合(LEFT JOIN)する場合はこうなります。
SELECT *
FROM (TABLE01 AS T1
LEFT JOIN TABLE02 AS T2 ON (T2.No = T1.No))
LEFT JOIN TABLE03 AS T3 ON (T3.No = T2.No)
;
1つ目のテーブルと2つ目のテーブルをカッコでくくってやる必要があるようですね。
4つのテーブルを結合
4つのテーブルを結合する場合だとこうなります。
SELECT *
FROM ((TABLE01 AS T1
LEFT JOIN TABLE02 AS T2 ON (T2.No = T1.No))
LEFT JOIN TABLE03 AS T3 ON (T3.No = T2.No))
LEFT JOIN TABLE04 AS T4 ON (T4.No = T3.No)
;
5つのテーブルを結合
5つのテーブルを結合する場合はこうなります。
これ以降は括弧がどんどん増えていくことになります。
SELECT *
FROM (((TABLE01 AS T1
LEFT JOIN TABLE02 AS T2 ON (T2.No = T1.No))
LEFT JOIN TABLE03 AS T3 ON (T3.No = T2.No))
LEFT JOIN TABLE04 AS T4 ON (T4.No = T3.No))
LEFT JOIN TABLE05 AS T5 ON (T5.No = T4.No)
;