41 votes

Est-il possible de renommer une colonne jointe lors d'une jointure interne ?

Disons que j'ai deux tables, owner et dog . Les deux ont la colonne name , mais j'aimerais les joindre, il y a donc un problème car les deux tables ont la colonne name . Puis-je renommer (alias) la name dans la table dog pendant la requête ?

59voto

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

15voto

mellamokb Points 34067

Oui, vous pouvez, mais vous devez alors lister tous les champs au lieu d'utiliser 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

0voto

MJB Points 5105

Oui, vous pouvez renommer les colonnes dans la sortie d'une jointure, c'est ce qu'on appelle un alias. Cependant, le fait qu'ils soient identiques ne pose aucun problème ; ils ont juste besoin d'être pleinement qualifiés.

0voto

Sanjay Points 84

Vous pouvez donner n'importe quel nom d'alias à la colonne mais il y a quelques règles comme le nom d'alias ne doit pas être le mot clé du serveur SQL, il ne doit pas contenir d'espace, si vous voulez de l'espace alors il devrait être dans [] vous ne pouvez pas en utiliser symboles d'alias.

Ex :- Sélectionnez owner.Id As [Int], Owner. ,chien. À partir de la jointure interne du propriétaire Gog On Owner.Id = Dog.Id

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X