/ / sqlite LEFT OUTER JOIN tablas múltiples - sql, sqlite3, join-externa

sqlite LEFT OUTER JOIN tablas múltiples - sql, sqlite3, join-externa

En este ejemplo tenemos 3 tablas relacionadas en una base de datos SQLite:

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)
);

Ahora necesito unir todas las tablas:

 test1 -> test2 (con columna c1) test2 -> test3 (con columna c2).

He intentado esta solución pero no se ejecuta:

SELECT
*
FROM test1 a
LEFT OUTER JOIN test2 b
LEFT OUTER JOIN test3 c
ON c.c2 = b.c2
ON b.c1=a.c1

Me da un error: near "ON": syntax error.

Alguna ayuda ?

Respuestas

28 para la respuesta № 1

Este es un simple mal lugar de su ON declaración. Esto se ajusta al estándar 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

Esto se explica en más profundidad aquí.