2011-12-11 24 views
-7

私は最後の3ヶ月間の結果を表示する必要があり、次のクエリがあります。私は、SQLServerの管理Studio 2008 R2でそれを実行しようとしたときに、このクエリを使用して、今なぜこのクエリでエラーが発生しましたか?

SELECT COUNT(DISTINCT dbo.UserQuiz.QuizID) AS [Total Number of Quizzes], 
    dbo.Divisions.DivisionName, 
    DATENAME(Month, dbo.UserQuiz.DateTimeComplete) AS Month 
FROM dbo.UserQuiz 
INNER JOIN dbo.Quiz 
    ON dbo.UserQuiz.QuizID = dbo.Quiz.QuizID 
INNER JOIN dbo.employee 
    ON dbo.UserQuiz.Username = dbo.employee.Username 
RIGHT OUTER JOIN dbo.Divisions 
    ON dbo.employee.DivisionCode = dbo.Divisions.SapCode 

GROUP BY dbo.Divisions.DivisionName, 
    DATENAME(Month, dbo.UserQuiz.DateTimeComplete) 
HAVING (DATENAME(Month, GETDATE()) - 
     DATENAME(Month, dbo.UserQuiz.DateTimeComplete) > 3 

の問題は、私は次のエラーを得ていますそして私はなぜないの操作を行います。

Msg 102, Level 15, State 1, Line 5 Incorrect syntax near '3'.

+1

フォーマットを正しく設定すると、読みやすさが向上し、適切な回答が得られる可能性があります。 –

+2

私はあなたがこの質問をしたとは信じられません。 – gbn

答えて

2

あなたは3

SELECT  
    COUNT(DISTINCT dbo.UserQuiz.QuizID) AS [Total Number of Quizzes], 
    dbo.Divisions.DivisionName, 
    DATENAME(Month, dbo.UserQuiz.DateTimeComplete) AS Month 

FROM dbo.UserQuiz 

INNER JOIN dbo.Quiz 
ON dbo.UserQuiz.QuizID = dbo.Quiz.QuizID 

INNER JOIN dbo.employee 
ON dbo.UserQuiz.Username = dbo.employee.Username 

RIGHT OUTER JOIN dbo.Divisions 
ON dbo.employee.DivisionCode = dbo.Divisions.SapCode 

GROUP BY dbo.Divisions.DivisionName, 
DATENAME(Month, dbo.UserQuiz.DateTimeComplete) 

HAVING (
    DATENAME(Month, GETDATE()) 
    - DATENAME(Month, dbo.UserQuiz.DateTimeComplete) > 3 
) -- you were missing this parenthesis 
+0

このエラーが発生しました:オペランドデータ型nvarcharは減算演算子では無効です。 –

+0

そうです、あなたはnvarcharsを引くことはできません。それらをintにキャストする必要があるかもしれません。 – danludwig

+0

どうすればいいですか教えてください。 –

0

後に終了括弧を必要とする、私はあなたがあなたの中に「)」HAVI欠場信じますどこかに。

HAVING (DATENAME(Month, GETDATE()) - DATENAME(Month, dbo.UserQuiz.DateTimeComplete) > 3 
+0

クエリが機能しない –

+0

コード、XMLまたはデータサンプルを投稿する場合は、テキストエディタでこれらの行を強調表示し、エディタツールバーの "コードサンプル"ボタン( '{}')をクリックして、それを強調する構文! –

+0

私もエラーがあります。メッセージ8117、レベル16、状態1、行20です。 オペランドデータ型nvarcharは減算演算子では無効です。 –

関連する問題