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