Select 只有来自 CTE 的连接表的列

Select only columns from joined tables from CTE

以下是我的 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 

以下是我想要 SELECT 来自的查询(并且仅将此 SELECT 语句用于我的查询结果:

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

-- 需要在此处 JOINCTE

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

所以基本上我需要 JOIN 到我想要结果的 SELECT 查询中的 CTE

OR ALTERNATIVELY 使用此 select 语句加入 CTE,但仅加入第二个 select 语句中的 selected 列

试试这个语法

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