2013-03-24 4 views
0

Новое регулирование отчетности правительства требует разработки запроса, который может подсчитать количество мужских иждивенцев сотрудников компании. Информация хранится в столбце dep_gender таблицы dependent. Таблица результатов должна иметь один выходной столбец с пометкой Number Male Dependents.Фильтрация SQL Server

Так что для этой части у меня есть:

SELECT COUNT(DEP_GENDER)"Number of Male Dependents" 
FROM dependent 
where dep_gender = 'M'; 

, который прекрасно работает сейчас «пересмотреть» для следующей части .. У меня возникли некоторые проблемы, потому что я не могу понять, как просачиваться в двух различные группы с соответствующими подсчетами для мужчин и женщин.

Пересмотр регламента отчетности правительства требует, чтобы в отчете учитывалось количество мужских и женских иждивенцев компании. Отобразите информацию как два столбца, один для пола и один для соответствующего подсчета. Таблица результатов должна иметь две строки, по одной для каждого пола. Используйте один запрос. Кроме того, столбец гендерного выпуска должен быть отформатирован как CHAR(6) и иметь метку заголовка Gender. Столбец счетчика должен иметь метку заголовка Number Counted.

+1

Wow is this homework? –

ответ

1

Я думаю, что вы ищете Group By запрос:

Select Cast(Dep_Gender as Char(6)) as Gender, 
    Count(1) 'Number Counted' 
From Dependent 
Group By Cast(Dep_Gender as Char(6)) 

Cast используется, так как требования (домашнее задание, возможно) будут форматировать гендер как гольца (6).

+0

Да, я думаю, что это прекрасно. Спасибо!!! –

+1

Если это ответили на ваш вопрос, пожалуйста, подумайте о принятии этого ответа, чтобы sgeddes мог получить репутацию репутации для него. –

+0

@ user2203516 - np, рад, что мы сможем помочь! – sgeddes

0
SELECT 'Male' As [Gender], COUNT(DEP_GENDER) AS [Counted] 
FROM dependent 
where dep_gender = 'M' 
UNION ALL 
SELECT 'Female', COUNT(DEP_GENDER) 
FROM dependent 
where dep_gender = 'F' 
+2

Нет причин иметь два отдельных сканирования базы данных, когда одно сканирование с помощью команды «GROUP BY» выполнит эту работу. –

Смежные вопросы