특정 열에 암호화 또는 거부가 나타나는 횟수를 계산하려고합니다. 내가 추가 할 때 내부 조인을 사용할 때 SQL 쿼리가 비정상 계산 된 횟수를 반환합니다.
Number of Devices SiteCode Country Encrypted Denied
3 REN Greece 0 3
그러나 내부는
FROM dbo.DeviceData JOIN dbo.SiteList ON dbo.DeviceData.country = dbo.SiteList.Country
(33)에 대한 거부 변경 횟수에 가입 : 아래의 코드는 문제에서
use DEW
SELECT Count (distinct DeviceData.machinename) As [Number Of Devices],
DeviceData.CurrentSite, DeviceData.Country
,sum(case buildstatus when 'encrypted' then 1 else 0 end) encrypted
,sum(case buildstatus when 'Denied' then 1 else 0 end) Denied
FROM dbo.DeviceData
where currentsite = 'REN'
group by DeviceData.Country, CurrentSite
OUPUT이처럼 함께 있음을 반환합니다.
왜 SQL이 이런 이유입니까?
select 및 그룹별로 더 많은 열을 추가하고 있습니까? –
샘플 데이터를 입력하십시오. – RedFilter
하나의 DeviceData에 대해 하나의 SiteList 만 있습니까? 'FROM dbo.DeviceData JOIN dbo.SiteList ON dbo.DeviceData.country = dbo.SiteList.Country' –