假设我有两个表,owner和dog,它们都有列name,但是我想连接它们,所以出现了一个问题,因为两个表都有列name,我可以在查询过程中重命名(别名)dog表中的name列吗?
owner
dog
name
idv4meu81#
select d.Name as DogName, o.Name from Dog d inner join Owner o on d.OwnerID = o.OwnerID
7qhs6swi2#
是的,可以,但是必须列出所有字段,而不是使用select *:
select *
select o.*, d.* from owner o inner join (select dog_id, name as dog_name, breed, age, owner_id from dog) d on o.owner_id = d.owner_id
watbbzwu3#
这是可能的,非常简单,做你的SQL正常,并添加一个逗号后的星号和使用'AS'。之前:选择 * 来自所有者INNER JOIN狗在www.example.com上= owner.id = dog.id之后:选择 *,www.example.com作为狗名称来自所有者dog.name AS dogName FROM ownerINNER JOIN狗在www.example.com上= owner.id = dog.id
vktxenjb4#
是的,您可以重命名联接输出中的列,这称为别名。但是,它们相同的事实不会导致任何问题;他们只需要完全合格。
shyt4zoc5#
您可以为列给予任何别名,但有一些规则,如别名不能是SQL Server的关键字,不能包含空格,如果需要空格,则应在[]中,不能使用某些符号表示别名。例如:-选择所有者.Id为[Int],所有者.,狗. 从所有者内部连接开始所有者.Id =狗.Id
jdg4fx2g6#
Agents.lastname as AgentName Where, Agents = Table Name lastname = Column Name in table AgentName = New Column name that you want to add
示例:
SELECT Buyers.id, Buyers.mobile, Agents.lastname as AgentName FROM Buyers INNER JOIN Agents ON Buyers.agentId=Agents.id
6条答案
按热度按时间idv4meu81#
7qhs6swi2#
是的,可以,但是必须列出所有字段,而不是使用
select *
:watbbzwu3#
这是可能的,非常简单,做你的SQL正常,并添加一个逗号后的星号和使用'AS'。
之前:
选择 * 来自所有者
INNER JOIN狗
在www.example.com上= owner.id = dog.id
之后:
选择 *,www.example.com作为狗名称来自所有者dog.name AS dogName FROM owner
INNER JOIN狗
在www.example.com上= owner.id = dog.id
vktxenjb4#
是的,您可以重命名联接输出中的列,这称为别名。但是,它们相同的事实不会导致任何问题;他们只需要完全合格。
shyt4zoc5#
您可以为列给予任何别名,但有一些规则,如别名不能是SQL Server的关键字,不能包含空格,如果需要空格,则应在[]中,不能使用某些符号表示别名。
例如:-选择所有者.Id为[Int],所有者.,狗. 从所有者内部连接开始所有者.Id =狗.Id
jdg4fx2g6#
示例: