В настоящее время я сталкиваюсь с проблемой на SQL-сервере, и, вероятно, у меня недостаточно знаний о том, насколько она масштабируема в плане автоматизации определенных процедур. Так что я хотел бы знать, если возможно следующее:Структура SQL-таблицы в формате шага
У меня есть таблица, скажет:
AR_Code CD_code CO_Code Centre Cost
AL 3F2 811 ops floc
AL 3D2 812 ops cell
Я бы в идеале хотел бы получить его в следующем формате, где он может быть достаточно динамичным, чтобы сдвиг в зависимости от количества доступных полей:
AR_Code CD_code CO_Code Centre Cost
AL NULL NULL NULL NULL
AL 3F2 NULL NULL NULL
AL 3F2 811 NULL NULL
AL 3F2 811 ops NULL
AL 3F2 811 ops floc
AL NULL NULL NULL NULL
AL 3D2 NULL NULL NULL
AL 3D2 812 NULL NULL
AL 3D2 812 ops NULL
AL 3D2 812 ops cell
Это почти создает шаг между полями. Кроме того, некоторые пакеты программного обеспечения для учета могут хранить данные. Мой текущий подход является кошмаром, и она включает в себя профсоюзы, будучи очень неприступным:
SELECT
AR
,NULL as [CD code]
,NULL as [CO Code]
,NULL as [Centre ]
,NULL as [Cost ]
FROM Table
UNION ALL
SELECT
AR
,CD code as [CD code]
,NULL as [CO Code]
,NULL as [Centre ]
,NULL as [Cost ]
FROM Table
etc...
Я не уверен, если кто-нибудь сталкивались с этой проблемой, или есть умный способ приблизиться к этому - я могу беспокоиться о заказе позже, но мой главный вопрос:
- Есть ли более масштабируемый способ приблизиться к этому?
Спасибо.
-R
Я не вижу проблем с вашим подходом. Это медленно? – sagi
Вам нужно создать такой отчет или изменить способ хранения этих данных? Это одноразовая задача? –
['CUBE'] (https://technet.microsoft.com/library/bb522495) с помощью фиктивного агрегата может помочь. –