2013-02-28 61 views
1

我正在使用Access並試圖複製我在MSDN上找到的一些語法。不幸的是,似乎Access在我的語法中有一個FROM語句的問題。我不知道爲什麼。使用PIVOT訪問SQL

SELECT YEAR, HC 
FROM 
(
SELECT [Retention & Graduation].Year, [Retention & Graduation].Status, [Retention & Graduation].Hc 
FROM [Retention & Graduation] 
) AS X 

PIVOT 
(
SUM([HC]) FOR [STATUS] IN ([GONE], [HERE], [GRAD]) 
) AS Xx 
+0

可以共享模式,樣品輸入/輸出數據?對於Access,該結構是['TRANSFORM'](http://office.microsoft.com/en-in/access-help/transform-statement-HP001032277.aspx)。 – shahkalpesh 2013-02-28 14:38:27

回答

6

在MS Access中轉換的語法與sql server不同。您必須使用TRANSFORM函數來轉發數據。

的語法將與此類似:

TRANSFORM SUM([Retention & Graduation].Hc) 
SELECT [Retention & Graduation].Year, 
    [Retention & Graduation].Status, 
    [Retention & Graduation].Hc 
FROM [Retention & Graduation] 
GROUP BY [Retention & Graduation].Year 
PIVOT [Retention & Graduation].[STATUS] 
+0

傑出。這很簡單,不是嗎? – 2013-02-28 18:44:13

+0

我從SELECT子句中刪除了[Retention&Graduation] .Status, [Retention&Graduation] .Hc以滿足我的需求。謝謝!!! – 2013-02-28 18:44:37

+0

@BradHines很高興你能工作。 :) – Taryn 2013-02-28 18:46:02