これは、私の以前の投稿に関連する別の質問ですが、別の問題があります。
前回の投稿で、著作権年の 4 年間の範囲に基づいて列を出力するクロス集計クエリを作成する方法について尋ねました。答えはとても良かったのですが、今、私は別の課題に直面しています。
明確にするために、テーブルのデータは次のとおりです。
ID CallNo CopyrightYear
1 AH 2000
2 AB 2000
3 BC 2001
4 AH 2000
5 ZA 2005
6 BC 2001
7 AP 2003
10 ZA 2006
11 DA 2009
12 DA 2010
13 RA 1999
14 WE 1997
15 HK 1996
16 AG 2011
前の投稿に基づいて、SQL ステートメントは次のようになります。
TRANSFORM Count(tab1.ID) AS CountOfID
SELECT tab1.CallNo, Count(tab1.ID) AS [Total Of ID]
FROM table1 AS tab1
GROUP BY tab1.CallNo
PIVOT CStr(Int(([CopyrightYear])/5)*5)+' to '+CStr(Int(([CopyrightYear])/5)*5+4);
出力は次のとおりです。
CallNo 1995 to 1999 2000 to 2004 2005 to 2009 2010 to 2014
AB 1
AG 1
AH 2
AP 1
BC 2
DA 1 1
HK 1
RA 1
WE 1
ZA 2
私の質問は、1999 年より下で 2010 年より上の著作権年のすべての結果をどのように組み合わせることができるかということです。私が望む新しい列の出力は次のようになります。
CallNo 1999 below 2000 to 2004 2005 to 2009 2010 above
AB 1
AG 1
AH 2
AP 1
BC 2
DA 1 1
HK 1
RA 1
WE 1
ZA 2
これは、1980 年のように 1999 年より下の著作権年がある場合、「1999 年より下」の列にカウントされることを意味します。上記の 2010 年と同様に、2014 年、2016 年、さらには 2020 年などの著作権年がある場合、値は「2010 年」列にカウントされます。