Mysql 区分表名

Mysql 区分表名,mysql,sql,Mysql,Sql,我目前有两个具有相同列名的表 APPLICATION_Reference.firstName, APPLICATION_Reference.lastName APPLICATION_Recommendation.firstName, APPLICATION_Recommendation.lastName 然后我有一个echo语句,其中我回显了我的数据:$applicator\u reference['firstName'] 我的问题是:在回显列名时如何区分不同的表?您可以使用 SELECT *

我目前有两个具有相同列名的表

APPLICATION_Reference.firstName, APPLICATION_Reference.lastName
APPLICATION_Recommendation.firstName, APPLICATION_Recommendation.lastName
然后我有一个echo语句,其中我回显了我的数据:
$applicator\u reference['firstName']

我的问题是:在回显列名时如何区分不同的表?

您可以使用

SELECT *, table1.field AS field1, table2.field AS field2 ...

然后在输出中将字段引用为field1和field2

使用表别名和列别名

在查询中,您可以为整个表添加别名,以提高可读性,例如

APPLICATION_Reference ref
然后,您的查询变为

SELECT *
FROM APPLICATION_Reference ref
INNER JOIN APPLICATION_Recommendation rec ref.referenceId = rec.referenceId
INNER JOIN Applicant app ON ref.firstName = app.givenName
ORDER BY ref.referenceId ASC
不要使用
选择*
,而是列出您感兴趣的字段,并将它们重命名为在结果集中有意义的名称,例如

SELECT ref.firstName reference_first_name,
       rec.firstname recommendation_first_name,
       ...
然后可以访问PHP代码中的新列名。当然,您不必使用如此长的引用(例如,
引用\u first\u name
)-这些只是示例。

您可以使用别名

SELECT 
APPLICATION_Recommendation.lastName as APPLICATION_Recommendation_lastName,
Applicant .lastName as Applicant _lastName
... 
FROM APPLICATION_Reference
INNER JOIN APPLICATION_Recommendation ON APPLICATION_Reference.referenceId = APPLICATION_Recommendation.referenceId
INNER JOIN Applicant ON APPLICATION_Reference.firstName = Applicant.givenName
ORDER BY APPLICATION_Reference.referenceId ASC
SELECT 
APPLICATION_Recommendation.lastName as APPLICATION_Recommendation_lastName,
Applicant .lastName as Applicant _lastName
... 
FROM APPLICATION_Reference
INNER JOIN APPLICATION_Recommendation ON APPLICATION_Reference.referenceId = APPLICATION_Recommendation.referenceId
INNER JOIN Applicant ON APPLICATION_Reference.firstName = Applicant.givenName
ORDER BY APPLICATION_Reference.referenceId ASC