我在构建一些多维查询时遇到一些困难。
我的问题是,例如这个查询:
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/