在mysql中加入查询时如何更改列名

时间:2019-01-04 11:16:18

标签: php mysql

我需要在加入MySQL查询时更改列名。我在下面解释我的代码。

(1,1),(2,0),.....(10,0)

我在下面提供我的桌子。

  

grc_action:

select * from grc_action left join grc_users on grc_action.action_owner=grc_users.user_id  
  

grc_users:

id    name    action_owner

以上是我的表结构,由于两者具有相同的列名user_id name ,因此在获取记录时,我需要更改i.e-name表列grc_users。请帮我解决这个问题。

3 个答案:

答案 0 :(得分:4)

您可以使用AS

SELECT table1.name AS exampleName, table2.name AS otherName FROM sometable

您也可以在表格上使用它:

SELECT vltn.id, vltn.name FROM veryLongTableName AS vltn

您不需要键入AS,只需执行SELECT table1.name exampleName即可将其缩短,但是它增加了可读性和可维护性,因此建议您使用AS来完成。

答案 1 :(得分:0)

您可以为两个不同表中的name列分配不同的别名。

select
    ga.id,
    ga.name as action_name,
    ga.action_owner,
    gu.user_id,
    gu.name as user_name
from grc_action ga
left join grc_users gu
    on ga.action_owner = gu.user_id;

请注意,我还使用了表别名,这使查询更易于阅读。通常,SELECT *是不可取的,通常最好显式列出所需的列。

答案 2 :(得分:0)

select * 
from grc_action 
left join grc_users on grc_action.action_owner=grc_users.user_id 

更改的查询使用此查询

select *,grc_users.name as grcuser_name,grc_action.name as grcaction_name 
from grc_action 
left join grc_users on grc_action.action_owner=grc_users.user_id 

在这里得到两个这样的名字 grcuser_name, grcaction_name