Hi, The following example shows that there will be duplicated column names in the joined table. Is there a syntax to disambigurate the duplicated column names?
~$ cat main.sql #!/usr/bin/env bash rm -f main.db sqlite3 main.db <<EOF create table A (a integer, b integer, c integer); create table B (a integer, b integer, d integer); /* create table A (a integer primary key, b integer, c integer); create table B (a integer primary key, d integer, e integer); */ insert into A values(1, 4, 7); insert into A values(2, 5, 8); insert into A values(2, 15, 18); insert into A values(3, 6, 9); insert into B values(1, 4, 7); insert into B values(2, 5, 8); insert into B values(4, 6, 9); .mode column .headers on .echo on select * from A; select * from B; select * from A, B where A.a=B.a; select * from A inner join B on A.a=B.a; select * from A join B on A.a=B.a; select A.a, B.a from A join B on A.a=B.a; EOF ~$ ./main.sql select * from A; a b c ---------- ---------- ---------- 1 4 7 2 5 8 2 15 18 3 6 9 select * from B; a b d ---------- ---------- ---------- 1 4 7 2 5 8 4 6 9 select * from A, B where A.a=B.a; a b c a b d ---------- ---------- ---------- ---------- ---------- ---------- 1 4 7 1 4 7 2 5 8 2 5 8 2 15 18 2 5 8 select * from A inner join B on A.a=B.a; a b c a b d ---------- ---------- ---------- ---------- ---------- ---------- 1 4 7 1 4 7 2 5 8 2 5 8 2 15 18 2 5 8 select * from A join B on A.a=B.a; a b c a b d ---------- ---------- ---------- ---------- ---------- ---------- 1 4 7 1 4 7 2 5 8 2 5 8 2 15 18 2 5 8 select A.a, B.a from A join B on A.a=B.a; a a ---------- ---------- 1 1 2 2 2 2 -- Regards, Peng -- Regards, Peng