2017-10-03 64 views
1

私はこのフォーラムには新しく、他の人の投稿を見ることで問題の答えを見つけることができますが、私はこの問題に苦しんでいるようです。スカラー変数を宣言しなければならない@Name

SELECT 
    PageId, SubjectLink 
FROM 
    dbo.a_training_page 
WHERE 
    (NOT EXISTS (SELECT PageId, Name 
       FROM dbo.a_training 
       WHERE (dbo.a_training_page.PageId = dbo.a_training.PageId) 
        AND (Name = @Name))) 

私はエラーを取得する:エラーメッセージは非常に明確に述べたよう

Must declare the scalar variable @Name

すべてのヘルプは感謝

+2

私が意味.....あなたが使用しているNAME' @変数を宣言する必要が ' in: 'AND(Name = @Name)'と入力します。他に何を言うべきかわからない、エラーメッセージはかなり明確です – Lamak

+1

変数を宣言する必要があります。私はそれがvarcharだと仮定しているので、次のようなものが必要になります: 'DECLARE @Name VARCHAR(50)= 'Bob'' – Siyual

+1

ここでは、エラーメッセージについてはっきりしていません。 –

答えて

0

を受けたことになる - あなたはは(大手@で)に任意の変数を宣言する必要がありますT-SQLコードでのみ使用するか、ストアドプロシージャまたはストアドプロシージャのパラメータとして使用します。

これを試してみてください(とあなたのWHERE句にすべてのそれらの不要な括弧のかなりの数を失う):

DECLARE @Name VARCHAR(100) = 'Brian'; 

SELECT 
    PageId, SubjectLink 
FROM 
    dbo.a_training_page 
WHERE 
    NOT EXISTS (SELECT * 
       FROM dbo.a_training 
       WHERE dbo.a_training_page.PageId = dbo.a_training.PageId 
        AND Name = @Name) 
関連する問題