我在构建一些多维查询时遇到了一些困难。左加入选择后查询结果标题
我的问题是,例如这个查询:
SELECT
persons.name,
contacts.email
FROM
persons
LEFT JOIN
contacts ON persons.person_ID = contacts.person_ID
LIMIT 0,10;
返回2列,因为它应该,1列的名称:“名称”和名为“邮箱”的另一列。
但我想这回我的标题的方式是这样的:
'persons.name'
和
'contacts.email'
(我不想创建一个视图,也不能使用别名,或子查询)
这有可能吗?如果是,如何?
非常感谢您的帮助。
透露更多的细节:
我存储查询数据库,主表,表中的列。然后将这些列构建到一个数组中,并基于该数组构建查询
有些情况下,列是子查询,有时它们只是表格单元格,有时它们是2列或更多列的值
我的问题是动态创建的查询后,我要显示它,但是如果包含标题名称的阵列被定义为table.colname,
print $row[$array[column_name]]
评估为print $row[persons.name]
但是mysql服务器生成的索引是'name'而不是'persons.name'
也应该可以工作,但是如果查询有2个名字,那么这个名字是模棱两可的,我看不到运行查询后传递where条件的选项。
这是我不希望在第一时间使用别名的原因
你为什么不想使用别名? – Ryan
别名将是正确的解决方案。 – Matt
如果你不想使用别名,那么给这些名称列表没有。反而使用骆驼套管或下划线 –