2013-02-28 4 views
1

Я использую Access и пытаюсь дублировать некоторый синтаксис, который я нашел на MSDN. К сожалению, похоже, что у Access возникла проблема с оператором FROM в моем синтаксисе. Я не знаю, почему.Доступ к SQL с PIVOT

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

ответ

6

Синтаксис для поворота в MS Access отличается от SQL-сервера. Для поворота данных вы должны использовать функцию 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

Отлично. Это так просто, не так ли? –

+0

Я удалил [Сохранение & Окончание] .Status, [Сохранение & Окончание] .Hc из предложения SELECT в соответствии с моими потребностями. Благодаря!!! –

+0

@BradHines рад, что у вас это работает. :) – Taryn