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

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

Ответы [ 4 ]

47 голосов
/ 13 мая 2011
select d.Name as DogName, o.Name
from Dog d
inner join Owner o on d.OwnerID = o.OwnerID
10 голосов
/ 13 мая 2011

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

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

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

0 голосов
/ 13 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...