В SQL Server 2008,
У меня есть таблица для отслеживания истории действий (STATUS_HISTORY
), которая имеет три столбца ([ACTION_ID],[STATUS],[STATUS_DATE]
).
Каждый ACTION_ID
может иметь переменное количество статусов и дат статуса.
Мне нужно преобразовать эти строки в столбцы, которые предпочтительно выглядят примерно так:
[ACTION_ID], [STATUS_1], [STATUS_2], [STATUS_3], [DATE_1], [DATE_2], [DATE_3]
Если общее количество столбцов состояния и столбцов даты неизвестно, и, конечно, DATE_1
соответствует STATUS_1
и т. Д. И я бы хотел, чтобы статус был в хронологическом порядке (STATUS_1
имеет самая ранняя дата и т. д.)
Моя причина для этого заключается в том, чтобы я мог поместить 10 самых последних статусов в отчет в ADP Access вместе с другой информацией для каждого действия. Использование подотчета с каждым статусом в новой строке может привести к тому, что отчет будет слишком большим.
Есть ли способ сделать это с помощью PIVOT
? Я не хочу использовать дату или статус в качестве заголовка столбца.
Возможно ли это вообще?
Понятия не имею, с чего начать. У меня болит голова.