一度グループ化された一連のレコードがあり、そのグループ内のレコードの組み合わせに基づいてカテゴリを割り当てたい..
これについて最善の方法を考えていました..私が考えることができるのは、私が以下に持っているものだけですが、それを行うためのより賢い方法があるかもしれないと思いました(おそらく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