PDO:fetchAll()在JOIN上具有重复的列名

时间:2013-05-07 19:21:45

标签: php sql

我的数据库中有几个列名相似的表。

假设表1,表2,表3有一个名为:" name"的列。那些不是索引列。它们包含不同且独立的数据。

如果我运行一个连接这3个表的查询和fetchAll()结果,那么只有一个" name"由于fetchAll()覆盖了具有相同名称的列,因此在结果数组中输入。

常规MySQL库允许您访问以下结果:

  

mysql_result($结果,0,' TABLE1.name&#39);

如何让PDO在列名之前附加表名,如:TABLE1.name,TABLE2.name等。

我想在我的SQL查询中使用别名来避免,因为我有很多表。我在网上找到的唯一答案使用了别名。我们可以提供给PDO的任何参数来做我想要的吗?

1 个答案:

答案 0 :(得分:2)

您可以在SELECT语句中使用别名而不是直接列名。像这样:

SELECT
  table1.name AS t1_name,
  table2.name AS t2_name,
  table3.name AS t3_name
-- rest of your query