2017-06-28 24 views
0
DECLARE @COUNT_P INT 
DECLARE @COUNT_S INT 


SELECT MEMBNO, 
CASE 
WHEN TYPCOD = 'P' THEN @COUNT_P = @COUNT_P + 1 
END AS C_P, 
CASE 
WHEN TYPCOD = 'S' THEN @COUNT_S = @COUNT_S + 1 
END AS C_S 
FROM #TEMP2 
GROUP BY TYPCOD 

エラーがメッセージ102、レベル15、状態1、行8 付近に正しくない構文 '='付近に正しくない構文 '='

です。

答えて

2
SELECT MEMBNO, 
SUM(CASE 
WHEN TYPCOD = 'P' THEN 1 ELSE 0 END) AS C_P, 
SUM(CASE 
WHEN TYPCOD = 'S' THEN 1 ELSE 0 END) AS C_S 
FROM #TEMP2 
GROUP BY MEMBNO 
+0

を、私は、これはOPのコードの意図であることを疑う(これは、少なくとも構文的に正しいです)。 –

0

あなたは、SQL Serverのような値をインクリメントすることはできません。 SELECTは、値を返すか、変数を設定しますが、両方を設定することはできません。

DECLARE @COUNT_P INT; 
DECLARE @COUNT_S INT; 

あなたは、2種類の合計数を設定したい場合:

select @count_p = sum(case when typecode = 'P' then 1 else 0 end), 
     @count_s = sum(case when typecode = 'S' then 1 else 0 end) 
from #TEMP2; 
+0

私が言ったように私はこのエラーが発生しました - 変数に値を割り当てるSELECT文をデータ検索操作と組み合わせてはいけません。この – shailuk

+0

@shailukであなたを助けてくれますか? 。 。このコードでエラーが出るのですか? –

関連する問題