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

kqqjbcuj  于 2021-06-16  发布在  Mysql
关注(0)|答案(3)|浏览(382)

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

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

我把table放在下面。
grc\U行动:

id    name    action_owner

grc\U用户:

user_id   name

上面是我的表结构,因为两者都有相同的列名 i.e-name 我要换个房间 grc_users 表列 i.e-name 在获取记录时。请帮我解决这个问题。

but5z9lq

but5z9lq1#

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

这里有两个名字,像这个名字,这个名字

qyswt5oh

qyswt5oh2#

您可以将不同的别名指定给 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 * 是不受欢迎的,通常最好显式列出所需的列。

kkbh8khc

kkbh8khc3#

你可以用 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` . 

相关问题