我需要在加入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
。请帮我解决这个问题。
答案 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