Подтвердить что ты не робот

Можно ли переименовать объединенный столбец во время внутреннего соединения?

Скажем, у меня две таблицы, owner и dog. Оба имеют столбец name, но я хотел бы присоединиться к ним, так что есть проблема, так как обе таблицы имеют столбец name. Можно ли переименовать (псевдоним) столбец name в таблице для собак во время запроса?

4b9b3361

Ответ 1

select d.Name as DogName, o.Name
from Dog d
inner join Owner o on d.OwnerID = o.OwnerID

Ответ 2

Да, вы можете, но тогда вы должны перечислить все поля вместо использования 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

Ответ 3

Да, вы можете переименовать столбцы в выводе соединения, который называется псевдонимом. Однако тот факт, что они одинаковы, не вызывает никаких проблем; они просто должны быть полностью квалифицированными.

Ответ 4

Вы можете указать любое имя псевдонима для столбца, но есть некоторые правила, такие как имя псевдонима не должно быть ключевым словом SQL Server, оно не должно содержать пробела, если вы хотите пространство, то оно должно быть в [], вы можете не используйте некоторые символы для псевдонимов.

Пример: - Выберите owner.Id As [Int], Owner., Dog. От внутреннего владельца владельца Gog On Owner.Id = Dog.Id