Мне нужна кросс-таблица или сводная таблица. Выберите дату и время.Как я могу PIVOT TABLE или CrossTab по дате?
Таблица filesTA
EmpNo ChkDate ChkIn
00001 2012-10-10 00:00:00.000 2012-10-10 07:22:00.000
00002 2012-10-10 00:00:00.000 2012-10-10 07:30:00.000
00001 2012-10-11 00:00:00.000 2012-10-11 07:13:00.000
00002 2012-10-11 00:00:00.000 2012-10-11 07:34:00.000
00001 2012-10-12 00:00:00.000 2012-10-12 07:54:00.000
00002 2012-10-12 00:00:00.000 2012-10-12 07:18:00.000
Я попытался следующие
SELECT tf.EmpNo,tf.ChkDate,tf.ChkIn
FROM (SELECT EmpNo,ChkDate,ChkIn
,ROW_NUMBER() OVER(PARTITION BY EmpNo ORDER BY ChkDate) as tfNum
FROM filesTA) AS tf
PIVOT(MIN(ChkDate) FOR tfNum IN ('2012-10-10'))
WHERE tf.ChkDate Between '2012-10-10' and '2012-10-12'
Но получить следующее сообщение об ошибке
Incorrect syntax near 'PIVOT'. You may need to set the compatibility
level of the current database to a higher value to enable this feature.
See help for the SET COMPATIBILITY_LEVEL option of ALTER DATABASE.
Желаемая Выход:
EmpNo 10 11 12
00001 07:22 07:13 07:54
00002 07:30 07:34 07:18
Я начинаю изучать стержни и кросс-таблицы. пожалуйста, помогите мне, чтобы мой запрос работал.
Какая версия SQL-сервера вы используете? Ошибка уровня совместимости указывает на необходимость обновления уровня совместимости базы данных по крайней мере до 9 (2005) ... – PinnyM
I'm Runnings SQL SERVER 2008 R2 – nettoon493
Вы не приняли/не прокомментировали ответ bluefeet. Он дает желаемый результат. Тебе нужно что-то еще? – Sami