Py学习  »  DATABASE

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

user5443928 • 5 年前 • 1541 次点击  

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

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

我把下面的桌子给你。

grc U操作:

id    name    action_owner

grc_用户:

user_id   name

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49509
 
1541 次点击  
文章 [ 3 ]  |  最新文章 5 年前
Martijn Hari
Reply   •   1 楼
Martijn Hari    6 年前
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 

这里有两个这样的名字 你的名字, 名称

Tim Biegeleisen
Reply   •   2 楼
Tim Biegeleisen    6 年前

您可以为 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 * 不需要,通常最好显式列出所需的列。

Martijn Hari
Reply   •   3 楼
Martijn Hari    6 年前

你可以用 AS

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

您也可以在表上使用:

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

你不需要输入 作为 ,你就可以 SELECT table1.name exampleName 为了缩短它,但是它增加了编写它的可读性和可维护性,所以我建议使用 作为 .