從CTE

2015-03-13 27 views
1

選擇連接表僅列以下是我的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 

所以基本上我需要JOINCTE裏面的SELECT查詢我想要的結果。

或可替代使用此select語句加入到CTE,但只有從什麼第二個SELECT語句

+0

你命名你的CTE「CTE」 (這不是很具描述性)...所以只需加入CTE就可以加入任何需要加入的列。從這個例子中不清楚這些列將是什麼,但大概你知道。實際上,我不完全確定你的問題或問題是什麼?你說「需要在這裏加入CTE」......所以......做到這一點?我錯過了什麼?只需從CTE塊中取出「SELECT * FROM CTE」,然後添加您指示的JOIN CTE。 – pmbAustin 2015-03-13 19:42:32

回答

2

選定列試試這個語法

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 
+0

是的......這看起來像這樣會工作。我不知道我在想什麼。 – 2015-03-13 19:45:22

+0

將時間標記爲答案 – 2015-03-13 19:46:15