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

Reply via email to