【发布时间】:2010-07-29 17:49:25
【问题描述】:
我有两张表,列的数量可变。 (我不知道有多少列或有什么名称)例如表 A 和表 B。
表A:
ID | B_ID | {variable}
表B
ID | {variable}
查询:
SELECT TableA.*, TableB.* FROM TableA INNER JOIN TableB ON TableA.B_ID= TableB.id;
当 TableA 和 TableB 都有同名的列时,我无法区分这两个不同的列。例如,两个表都有列“名称”,此查询将导致:
ID | ID | B_ID | NAME | NAME |
1 | 35 | 35 | bob | jim |
我正在寻找一种区分这两个表的方法。最好为列名加上前缀,例如。
TableA_ID | TableB_ID | TableA_B_ID | TableA_NAME | TableB_NAME |
1 | 35 | 35 | bob | jim |
我知道“AS”关键字,但问题是我事先不知道列名是什么。 (我不知道 TableA 或 TableB 是否会有列名称)
所以我的问题是
当两个表可能具有相同的列名时,如何使用 INNER JOIN 区分两个表之间的列?
我正在使用 SQLite3。
【问题讨论】: