2012-04-20 16 views
1

私は以下の文を訂正する人が必要です。前もって感謝します。どうして私は2つの異なる列の合計値が同じになるのですか

SELECT CATEGORY 
--WHAT PERIOD? 
,'P3' AS PERIOD 
,'2013' AS FISCALYEAR   
,COUNT(CASE SecurityLayer WHEN 'dblayer' THEN SecurityLayer ELSE '' END) DB_SEC_COUNT   
,COUNT(CASE SecurityLayer WHEN 'Applayer' THEN SecurityLayer ELSE '' END) APP_SEC_COUNT 
FROM [db_eCAM].[dbo].[tbl_SecChecks] 
GROUP BY CATEGORY 
+1

表の列は何ですか、エラーは何ですか? – hkutluay

+0

私は実際に集計を行っています。 – Yves

答えて

2

これらのものがそれぞれ一致する回数を返そうとしていますか?次に使用する

SELECT CATEGORY 
--WHAT PERIOD? 
,'P3' AS PERIOD 
,'2013' AS FISCALYEAR 
,SUM(CASE SecurityLayer WHEN 'dblayer' then 1 else 0 end) AS DB_SEC_COUNT 
,SUM(CASE SecurityLayer WHEN 'Applayer' then 1 else 0 end) AS APP_SEC_COUNT 
FROM [db_eCAM].[dbo].[tbl_SecChecks] 
GROUP BY CATEGORY 

これを試してみてください。代わりに列を数える

+0

問題を解決しました!どうもありがとうございます (: – Yves

2

が(そうでない場合は、各行が、まだその値に関係なくカウントされます)、それを合計してみてください。

SELECT CATEGORY 
--WHAT PERIOD? 
,'P3' AS PERIOD 
,'2013' AS FISCALYEAR   
,SUM(CASE SecurityLayer WHEN 'dblayer' THEN 1 ELSE 0 END) DB_SEC_COUNT   
,SUM(CASE SecurityLayer WHEN 'Applayer' THEN 1 ELSE 0 END) APP_SEC_COUNT 
FROM [db_eCAM].[dbo].[tbl_SecChecks] 
GROUP BY CATEGORY 
関連する問題