我目前正在调试一个巨大的MySql调用,它加入了大量共享列名的表,如id,created_at等。我开始挑选它,但我想知道是否有一种方法做类似:MySQL显示表名与列
SELECT * AS table.column_name FROM table1 LEFT JOIN etc etc etc...
代替不必单独名称,如列:
SELECT table1.`column2' AS 'NAME', table1.`column3` AS ...
它肯定会与加快调试过程中,如果有一个办法做到这一点帮助。
谢谢。
编辑:
感谢迄今答案。他们不完全是我要找的,我想我的问题是有点含糊,所以我就举一个例子:
假设你有这个安装在你的MySQL架构:
表:学生 字段:INT ID | INT school_id | VARCHAR 名
表:学校 领域:INT ID | INT 名
学生包括:
1 | 1 | "John Doe"
学校包括:
1 | "Imaginary School One"
做MySQL的电话“SELECT * FROM学生LEFT JOIN学校ON(students.school_id = schools.id) “将产生:
id | school_id | name | id | name
1 | 1 | "John Doe" | 1 | "Imaginary School One"
我们知道并且我们知道第一个Id和Name列是指学生表,第二个Id和Name是指学校表,因为数据集非常小而且其命名毫不含糊。但是,如果我们必须处理包含多个左连接和具有相似名称的列的结果集,那么它将开始变得难以阅读,并且通常您必须通过遵循连接来追踪它。我们可以开始做这样的事情
SELECT school.name AS 'school_name', etc etc etc...
但是,令人难以置信的获得不切实际的,一旦你开始处理大型数据集。
我在想,但如果有返回结果集,其中的列名应该是这样的,而不是一个办法:
students.id | students.school_id | students.name | schools.id | schools.name
,如果我需要再次做同样的事情这将是未来的引用有用。
伟大的问题。我只是尝试同样的事情,但无法找到答案。 :-( – 2015-07-09 02:33:40