这是另一个与我之前的帖子相关的问题,但有不同的问题。
在我之前的帖子中,我询问了如何创建一个交叉表查询,该查询将根据版权年份的 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
这意味着如果有一个版权年份低于 1999 年,如 1980 年,它将被计算在“1999 年以下”列下。与上述2010年相同,如果有2014年、2016年甚至2020年等版权年份,则该值将计入“2010年以上”列。