当列名相同时,PDO查询已连接的表

时间:2013-07-05 12:52:28

标签: mysql pdo

我正在通过PDO在一对连接表上运行查询,如下所示:

SELECT table1.id, table2.id, table1.foo, table1.bar 
FROM table1 INNER JOIN table2 ON table1.bar = table2.id;

两个表都有id列,因此当我运行fetchAll()时,关联数组只包含一个id字段。这是因为第一个被第二个覆盖。

有没有办法获得两个id字段?也许将表名包含在数组键中......

2 个答案:

答案 0 :(得分:2)

使用别名

SELECT table1.id as t1id, table2.id as t2id
--etc.

答案 1 :(得分:1)

试试这个

SELECT table1.id AS idtable1, table2.id AS idtable2, table1.foo, table1.bar 
FROM table1 INNER JOIN table2 ON table1.bar = table2.id;