2016-12-24 16 views
0

派生テーブルクエリをテストしていました。以下のクエリを実行すると、エラーが表示されます。無効なオブジェクト名 - 派生テーブル

`Invalid object name 'result'.` 

私は本当に驚いています。いずれか1つは、この奇妙なエラーを投げている理由を私の疑いを明確にしてください。

SELECT 
    * 
FROM (SELECT 
    1 AS ID, 
    'Mike' AS Name) [result] 
WHERE result.ID NOT IN (SELECT 
    ID 
FROM [result] 
WHERE Name = 'Mike') 

答えて

0

あなたはその構文を使用して、派生テーブルを再利用することはできません。
CTE(共通テーブル式)を使用してください。

with [result] as 
    (SELECT 
    1 AS ID, 
    'Mike' AS Name) 

SELECT 
    * 
FROM result 
WHERE result.ID NOT IN (SELECT 
    ID 
FROM [result] 
WHERE Name = 'Mike') 
+0

この構文を使用して派生テーブルを再利用できない理由を説明すると、より良いことがありますか? –

+1

これは別の代替手段を提供する言語ではサポートされていません。 –

+0

あなたの答えをありがとう。 :) –

関連する問題