SQL 쿼리에 다른 열과 동일한 정보가 포함되어 있지만 필터링 된 추가 열을 추가하는 데 어려움이 있습니다. 내가 조금 예제를주고 설명합니다 : 이전과 동일한 정보를 포함하고 있지만 더 많은 정보가 포함 된 SQL 쿼리에 열을 추가합니다.
SELECT
aMain.MaintGroupName,
CCALARMS = (SELECT COUNT(ALARMIDKEY) --subquery begins
FROM REPORTER.REPORTER_STATUS
WHERE
(MAINTMODECRONTAB != 'Y'
AND SUPPRESSESCL < 4
AND SPMAUTO != 1
AND ORIGINALSEVERITY > 0)
AND ((AIWAVER = 3 AND EVENTACTOR = 1)
OR
((AIWAVER < 3 OR AIWAVER IS NULL)
AND ((CONTROLCENTREVIEW = 1
AND ORIGINALSEVERITY = 5)
OR (CONTROLCENTREVIEW = 2)
OR (ALERTGROUP = 'CHECKLIST')
)
)
)
), --subquery ends
COUNT(rSTA.ALARMIDKEY) -- same column as previous, but with no conditions
FROM
REPORTER.reporter.REPORTER_STATUS rSTA
INNER JOIN
AIWA2.dbo.MaintGroup aMain ON aMain.MaintGroupId = rSTA.ALARMOWNERID
GROUP BY
aMain.MaintGroupName
내가이 나에게 그룹 이름을 얻으려면을 알람 그룹 이름으로 어떤 조건 및 그룹의 모든없는 특수 조건, 같은 경보와 (나에게 특정 알람 및 모든 알람을 보여 모든 그룹에 대해). 이 쿼리는 나에게 그룹 이름이 & 인 모든 알람을 올바르게 그룹화했지만 그룹화되지 않은 모든 그룹에 대해 "CCALARMS"가 계산 된 것으로 표시됩니다. 하위 쿼리의이 개수가 쿼리에서 그룹화되도록 조건을 추가해야합니까? 어쩌면 rSTA.ALARMIDKEY = CCALARM.ALARMIDKEY 같은 것이 추가 조인에 필요합니까?
이제 모든 그룹에 대해 볼 수 있듯이 CCALARMS가 계산됩니다. 어떻게 배포해야하는지 궁금합니다. ALARM
내가 원하는 것을 분명히하기를 희망한다. 그렇지 않다면, 내가 더 자세한 정보를 주겠다. 미리 감사드립니다!
을 테스트하지. – Robbac