Trong ví dụ này, chúng ta có 3 bảng liên quan trên cơ sở dữ liệu SQLite:sqlite LEFT OUTER JOIN nhiều bảng
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)
);
Bây giờ tôi cần phải tham gia tất cả các bảng:
test1 -> test2 (with c1 column) test2 -> test3 (with c2 column).
Tôi đã thử giải pháp này nhưng nó không chạy:
SELECT
*
FROM test1 a
LEFT OUTER JOIN test2 b
LEFT OUTER JOIN test3 c
ON c.c2 = b.c2
ON b.c1=a.c1
nó mang lại cho tôi một lỗi: near "ON": syntax error.
Bất kỳ trợ giúp nào?
sqlite3 Không bao giờ được sử dụng, nhưng đúng cú pháp SQL giữa các ý kiến LEFT OUTER JOIN ... ON ... LEFT OUTER JOIN ... ON. .., và không tham gia lồng nhau.) – raina77ow
Tôi đã sử dụng cú pháp này trên Oracle, PostgreSQL và SQLServer mà không gặp bất kỳ vấn đề gì. – ferpega
Tham gia lồng nhau - hoặc 'JOIN (một JOIN hai JOIN ba) ON (one.id = two.id AND two.some_id = three.some_id)'? – raina77ow