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