この例では、SQLiteデータベースに3つの関連テーブルがあります。
CREATE TABLE test1 (
c1 integer,
primary key (c1)
);
CREATE TABLE test2 (
c1 integer,
c2 integer,
primary key (c1, c2)
);
CREATE TABLE test3 (
c2 integer,
c3 integer,
primary key (c2)
);
次に、すべてのテーブルを結合する必要があります。
test1-> test2(c1列あり) test2-> test3(c2列あり)。
私はこの解決策を試しましたが、実行されません:
SELECT
*
FROM test1 a
LEFT OUTER JOIN test2 b
LEFT OUTER JOIN test3 c
ON c.c2 = b.c2
ON b.c1=a.c1
エラーが発生します:near "ON": syntax error.
何か助け?
これは、ON
ステートメントの単純な誤配置です。これはSQL標準に準拠しています。
SELECT *
FROM test1 a
LEFT OUTER JOIN test2 b ON b.c1=a.c1
LEFT OUTER JOIN test3 c ON c.c2=b.c2
これについては ここでさらに詳しく説明します