En este ejemplo tenemos 3 tablas relacionadas en una base de datos SQLite:sqlite combinación externa izquierda varias tablas
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 tengo que combinar todas las tablas:
test1 -> test2 (with c1 column) test2 -> test3 (with c2 column).
He probado 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.
¿Algún ayuda?
sqlite3 nunca utilizado, pero la sintaxis SQL estándar correcto es LEFT OUTER JOIN ... ... EN combinación externa izquierda ... EN. .., y no uniones anidadas.) – raina77ow
He utilizado esta sintaxis en Oracle, PostgreSQL y SQLServer sin ningún problema. – ferpega
Uniones anidadas - o 'JOIN (un JOIN dos UNIR tres) ON (one.id = two.id AND two.some_id = three.some_id)'? – raina77ow