J'ai trois tables.Requête sur Sql Rejoint
tblLink: (LinkId, LinkName, GroupId,, SubGroupId)
GroupId et SubGroupId sont la clé étrangère dans tblGroup et tblSubGroup
tblGroup: (GroupId, GroupName)
tblSubGroup: (SubGroupId, SubGroupName)
dans tblLink SubGroupId est autorisé, mais nul GroupId est obligatoire.
Je veux chercher LinkName, GroupName, SubGroupName pour chaque LinkId dans tblLink
J'ai écrit une requête
SELECT L.LinkName, G.GroupName, SG.SubGroupName DE L tblLink
gauche Inscrivez-vous
tblSubGroup SG
SUR
(L.SubGroupId = SG.SubGroupId)
INNER JOIN
tblGroup G
SUR
(L.GroupId = G.GroupId)
S'il n'y a pas sous-groupe pour certains LinkId Je veux montrer notexist au lieu de Null
vous pouvez utiliser COALESCE pour le faire (au lieu de ISNULL), juste rend votre requête plus portable. – Technowise
@Technowise: faites attention à la conversion de type de données implicite alors ... si SubGroupName est varchar (5) ou char (50), il pourrait être transtypé en varchar (8) pour correspondre au NotExist littéral. Avec ISNULL, il reste selon le type de données SubGroupName. SQL portable = changement de contrat? – gbn
@Technowise, qu'entendez-vous par portable ici. Qu'est-ce que COALESCE, s'il vous plaît élaborer. –