mysql - 左连接select后查询结果表头

标签 mysql header left-join

我在构建一些多维查询时遇到一些困难。

我的问题是,例如这个查询:

SELECT 
    persons.name, 
    contacts.email 
FROM 
    persons
LEFT JOIN 
    contacts ON persons.person_ID = contacts.person_ID
LIMIT 0,10;

按预期返回 2 列,其中 1 列的名称为“name”,另一列的名称为“email”。

但是我希望它返回标题的方式是这样的:

'persons.name'

'contacts.email'

(我不想创建 View ,也不想使用别名或子查询)

这可能吗?如果是的话怎么办?

预先感谢您的帮助。

提供更多详细信息:

我将查询数据库、主表和列存储在表中。然后将这些列构建到一个数组中,并基于该数组我构建一个查询

有时列是子查询,有时它们只是一个表格单元格,有时它们是 2 列或更多列的值

我的问题是,动态构建查询后,我必须显示它,但如果包含标题名称的数组定义为 table.colname,

print $row[$array[column_name]]

计算结果打印$row[persons.name]

但是 mysql 服务器生成的索引是“name”而不是“persons.name”

这也应该有效,但是如果查询中有 2 个名称,那么这是不明确的,并且我没有看到在运行查询后传递 where 条件的选项。

这就是我一开始就不想使用别名的原因

最佳答案

您可以使用“AS”关键字来指定别名

SELECT persons.name as persons.name, contacts.email as contacts.email 
FROM presons 
LEFT JOIN contacts ON persons.person_ID=contatcs.person_ID 
LIMIT 0,10; 

关于mysql - 左连接select后查询结果表头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12180326/

相关文章:

mysql - 如何修复查询 where 条件或其他任何问题

php - 这段代码需要循环超过 350 万行,我怎样才能让它更有效率?

javascript - 在浏览页面时保持固定的标题(永远不会重新加载)

c++ - 将模板化的 C++ 类拆分为 .hpp/.cpp 文件——这可能吗?

c++ - 在 C++ 中合并两个库

php - MySql : left join users table with transactions table return several rows

mysql - 在 Rails 应用程序上为访问者提供 SQL 查询访问

mysql - 无法远程连接到MySQL服务器

NHibernate - 左连接

mysql - 在子查询上使用别名,然后在 ON 子句中使用它进行 LEFT JOIN