2012-04-20 2 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 
Смежные вопросы