0

WITH句の使い方を理解するのを手伝ってくれる人がいたら教えてください

WITH T(Id) AS 
(SELECT DISTINCT 
     [IO].[IncidentQuestionId] 
 FROM 
     [dbo].[IncidentValue] AS IV 
 INNER JOIN 
     [dbo].[IncidentOption] AS [IO] ON [IV].[IncidentOptionId] = [IO].[Id]
 WHERE 
     [IV].[IncidentId] = 45
) 
SELECT 
    IQ.*, IC.[Name] AS [IncidentCategory] 
FROM  
    IncidentQuestion] AS IQ 
INNER JOIN 
     T ON [T].[Id] = IQ.[Id] 
INNER JOIN 
     [dbo].[IncidentCategory] AS IC ON IQ.[IncidentCategoryId] = IC.[Id] 
WHERE 
     IQ. [IsOption] = 0 
ORDER BY 
     IC.[OrderId] ASC, IQ.[OrderId] ASC

with 句を使用する上記のクエリがありますが、with 句の使用を認識していません。

ありがとう

4

3 に答える 3

2

これは、共通テーブル式の構文です。ドキュメントを読む共通テーブル式の使用

于 2013-07-02T07:13:33.037 に答える
2

これは、さらに別の SQL ステートメントで使用できる SELECT ステートメントの結果を返すCommon Table Expressionを作成するために使用されます。それらを使用して、より読みやすい SQL コードを生成します。

于 2013-07-02T07:14:22.417 に答える
0

場合によってWITHは、クエリでインデックスを使用するように強制するために句が使用されます。

于 2013-07-02T07:21:15.423 に答える