Sélectionnez uniquement les colonnes des tables jointes de CTE

Ce qui suit est mon CTE:

;WITH CTE AS (SELECT O.*, E.Num, E.Amount FROM OData O INNER JOIN Equip E ON O.Name = E.Name) SELECT * FROM CTE -- gives results I want to join to 

Voici la requête à partir de laquelle je veux sélectionner (et utiliser uniquement cette SELECT pour mes résultats de requête:

 SELECT MU.Type ,MU.Num ,MU.MTBUR ,MF.MTBF ,MU.Hours ,MF.Hours FROM MUType_Stage MU INNER JOIN MFType_Stage MF ON MU.Type = MF.Type AND MU.Num = MF.Num 

– Besoin de JOIN au CTE ici

 INNER JOIN Status_STAGE S ON MU.Nu = S.Part LEFT OUTER JOIN RCN N ON N.Name = R.Part LEFT OUTER JOIN Repair RR ON R.ACSS_Name = RR.Name 

Donc, fondamentalement, je dois JOIN au CTE dans la requête SELECT dans laquelle je veux les résultats.

OU ALTERNATIVEMENT Utilise cette instruction select pour join le CTE mais seulement ce que les colonnes sélectionnées de la seconde instruction select

Essayez cette syntaxe

 WITH CTE AS (SELECT O.*, E.Num, E.Amount FROM OData O INNER JOIN Equip E ON O.Name = E.Name) SELECT MU.Type, MU.Num, MU.MTBUR, MF.MTBF, MU.Hours, MF.Hours FROM MUType_Stage MU INNER JOIN MFByACType_Stage MF ON MU.Type = MF.Type AND MU.Num = MF.Num INNER JOIN CTE C --- JOIN HERE as like other tables ON C.Num = MF.Num INNER JOIN Status_STAGE S ON MU.Nu = S.Part LEFT OUTER JOIN RCN N ON N.Name = R.Part LEFT OUTER JOIN Repair RR ON R.ACSS_Name = RR.Name