W tym przykładzie mamy 3 powiązanych tabel na SQLite database:sqlite LEFT OUTER JOIN wielu tabel
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)
);
Teraz muszę dołączyć wszystkie tabele:
test1 -> test2 (with c1 column) test2 -> test3 (with c2 column).
Próbowałem tego rozwiązania, ale to nie działa:
SELECT
*
FROM test1 a
LEFT OUTER JOIN test2 b
LEFT OUTER JOIN test3 c
ON c.c2 = b.c2
ON b.c1=a.c1
daje mi błąd: near "ON": syntax error.
Każda pomoc?
nigdy nie używany sqlite3, ale poprawna standardowa składnia SQL jest LEFT OUTER JOIN ... ON ... LEFT OUTER JOIN ... ON. .., a nie zagnieżdżone połączenia.) – raina77ow
Użyłem tej składni na Oracle, PostgreSQL i SQLServer bez żadnego problemu. – ferpega
Zagnieżdżone połączenia - lub 'JOIN (jeden DOŁĄCZ dwa POŁĄCZ trzy) WŁ (jeden.id = dwa.ID I dwa.some_id = trzy.some_id)'? – raina77ow