0
这是与我以前的帖子在my post here但与不同的问题有关的另一个问题。选定年份的交叉表查询作为列标题
在我以前的文章中,我问如何创建一个交叉表查询,该查询将输出基于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年以下版权年的所有结果0.1一个新列的输出,我想是这样的:
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年以上”栏中。
感谢,我会尝试。 – jaypabs 2013-03-07 15:51:24
@jaypabs嘿,我刚回到家,发现我的访问安装,所以我玩了一下,并得到了你的完整答案。在尝试交叉表转换之前准备数据始终是个好主意。 – Mortalus 2013-03-07 17:36:28
非常感谢。 – jaypabs 2013-03-08 01:23:48