假设我有两个表,owner
和dog
。两者都有列name
,但我想加入它们,因此存在问题,因为两个表都有列name
。我可以在查询期间重命名(别名)狗表中的name
列吗?
答案 0 :(得分:47)
select d.Name as DogName, o.Name
from Dog d
inner join Owner o on d.OwnerID = o.OwnerID
答案 1 :(得分:10)
是的,你可以,但是你必须列出所有字段,而不是使用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
答案 2 :(得分:0)
是的,您可以重命名连接输出中的列,称为别名。但是,它们是相同的这一事实不会造成任何问题;他们只需要完全合格。
答案 3 :(得分:0)
你可以给列提供任何别名但是有一些规则,比如别名不能是SQL Server的关键字,它不能包含空格,如果你想要空间那么它应该在[]你可以不要使用某些符号作为别名。
Ex: - 选择owner.Id As [Int],Owner。,dog。 来自所有者内部联接Gog On Owner.Id = Dog.Id