SQL, obtenir la valeur de clé étrangère. Clé étrangère en référence la même table
MS SQL Server base de données.
J'ai cette structure simple: (désolé pour les clés primaires sont pas dans un bon endroit)
Dans la formation à table, j'ai une clé étrangère "Chef", qui renvoie à l'ENSEIGNANT.ID (la même table). Comment puis-je obtenir un entier(de l'Enseignant.ID), mais un Nom d'un Chef(de l'ENSEIGNANT.Nom du Chef), tout en faisant la requête SELECT?
Celui-ci obtient juste un entier(ID d'un Chef):
SELECT DEPARTMENT.Name, TEACHER.Name, TEACHER.IDCode, POST.Name, TEACHER.Tel, TEACHER.Salary, TEACHER.Rise, TEACHER.HireDate, Chief
FROM TEACHER, DEPARTMENT, POST
WHERE TEACHER.ID_Post = POST.ID AND
TEACHER.ID_Department = DEPARTMENT.ID;
GO
OriginalL'auteur Aremyst | 2012-11-18
Vous devez vous connecter pour publier un commentaire.
JOIN
laTEACHER
table une fois de plus, comme suit:Et utiliser le SNA-SQL-92
JOIN
de la syntaxe à la place de l'ancienne syntaxe que vous utilisez dans votre requête. Ils sont de la même, mais c'est la syntaxe recommandée.SQL server permet un alias de colonne pour être spécifiée avec des guillemets simples qui dénotent les chaînes de caractères, pas des identifiants SQL?
Autant que je sache, Oui, il permet un alias de colonne à être spécifié avec des guillemets simples. Mais je l'ai écrit de cette façon à être formaté comme un caractère littéral pour la sortie. Mais qu'est-ce que vos recommandations dans ce domaine?
La norme SQL (et tous les autres SGBD si je ne me trompe pas) nécessite des identifiants (qui contiennent des caractères spéciaux comme un espace dans ce cas) pour être placé entre guillemets. Donc valide d'un alias de colonne doit être écrit comme ceci:
chief.Name as "Chief Name"
. Comme SQL Server comprend aussi que la syntaxe je préfère m'en tenir à la norme.OriginalL'auteur Mahmoud Gamal
Cela devrait fonctionner:
OriginalL'auteur bummi