1

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

假设表 1、表 2、表 3 有一个名为:“名称”的列。这些不是索引列。它们包含不同且独立的数据。

如果我运行查询连接这 3 个表并 fetchAll() 结果,则结果数组中将只有一个“名称”条目,因为 fetchAll() 会覆盖具有相同名称的列。

常规 MySQL 库允许您访问这样的结果:

mysql_result($result,0,'TABLE1.name');

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

我想避免在我的 SQL 查询中使用别名,因为我有大量的表。我在网上找到的唯一答案使用别名。有没有我们可以提供给 PDO 的参数来做我正在寻找的东西?

4

1 回答 1

3

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

SELECT
  table1.name AS t1_name,
  table2.name AS t2_name,
  table3.name AS t3_name
-- rest of your query
于 2013-05-07T19:28:47.750 回答