Я пытаюсь сосчитать несколько отдельных строк для каждого столбца. Ниже приведен пример того, чего я пытаюсь достичь.
select (select top 1 name
from chap
where chap.chp_id = CHS.chp_id) as Chap,
(select count(*)
from CHS,
chap
where O_TYPE = 'PRESIDENT'
and chs.chp_id = chap.chp_id) as Presidents,
(select count(*)
from CHS
where O_TYPE = 'VICEPRESIDENT') as VicePresidents,
(select count(*)
from CHS
where OFFICER_TYPE = 'CORRSECRETARY') as CorrespondinSecretaries,
(select count(*)
from CHS
where O_TYPE = 'RECORDINGSECRETARY') as RecordingSecretaries,
(select count(*)
from CHS
where O_TYPE = 'TREASURER') as Treasurers,
(select count(*)
from CHS
where O_TYPE = 'ADVISOR'
and ADV_CODE = 'B') as ChiefAdvisors,
(select count(*)
from CHS
where O_TYPE = 'ADVISOR'
and ADV_CODE <> 'B') as ChiefAdvisors
from CHS
where O_TYPE in ('PRESIDENT', 'VICEPRESIDENT', 'CORRSECRETARY', 'RECORDINGSECRETARY', 'TREASURER', 'ADVISOR')
and Term_expire >= DateAdd(Day,DateDiff(Day,0,GetDate()),0)
and Term_Begin <= DateAdd(Day,DateDiff(Day,0,GetDate()),0)
and CHS.CHP_ID in (Select chp_id
from chrs
where active = 'Y')
Group by chs.CHP_ID
когда я запускаю это, он суммирует каждую строку со всеми записями, а не только с записями для этой главы. Есть предложения?
Пример вывода
AL A 247 264 247 250 246 235 739
AL B 247 264 247 250 246 235 739
AL G 247 264 247 250 246 235 739
AL D 247 264 247 250 246 235 739
AK A 247 264 247 250 246 235 739
AZ A 247 264 247 250 246 235 739
AZ B 247 264 247 250 246 235 739
AZ G 247 264 247 250 246 235 739
Что я действительно хочу, так это
AL A 1 1 1 4 8 9 16
AL B 1 1 5 7 8 9 21