한 번 그룹화 된 레코드 세트가 그룹의 레코드 조합을 기반으로 카테고리를 할당하고 싶습니다.Transact-sql의 group-by 절에있는 항목을 기반으로 범주를 설정하는 방법?
가장 좋은 방법은 궁금합니다.이 모든 것에 대해 생각할 수 있습니다. 나는 아래 가지고 있지만 그것을 할 수있는 더 현명한 방법이 될 수있다 생각했습니다 것입니다 (아마도 UDF를 사용하고 계십니까?)
SELECT *
, case when productgroup in ('chihuaha','labrador') then 1 else 0 end AS Dog
, case when productgroup in ('siamese', 'tabby') then 1 else 0 end as Cat
INTO #tmp_items
FROM dbo.Items
SELECT docket
, sum(value)
, case when sum(Dog) > 0 and sum(Cat) > 0 then 'Dog and Cat'
when sum(Dog) > 0 and sum(Cat) = 0 then 'Dog Only'
when sum(Dog) = 0 and sum(Cat) > 0 then 'Cat Only'
end
as Purchase_Type
FROM #tmp_items
GROUP BY docket
이 답변은 왼쪽 외부 조인이있는 집계 선택을 룩업 테이블에 작성하는 데 도움이되었습니다. –