подробное руководство по преобразованию столбцов в SQL Server
]При обработке таблиц, содержащих большое количество метрических столбцов, преобразование этих столбцов в строки очень полезно для анализа и отчетности. Это преобразование включает в себя восстановление данных для создания новых таблиц с различными схемами.
]resplage ratement
]рассмотрим следующую структуру таблицы:
][ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150]
]
Цель состоит в том, чтобы преобразовать эти метрические столбцы в ряды, создавая тем самым новую таблицу со следующей схемой:
][ID] [EntityId] [IndicatorName] [IndicatorValue]
]]
решение с использованием unpivot
Элегантное решение для выполнения этой задачи - воспользоваться функцией unpivot. Синтаксис Unpivot выглядит следующим образом:
]UNPIVOT ([unpivot column] FOR [pivot column] IN ([pivot values]))
]
В этом примере столбец Unpivot представляет значение индикатора (например, «Indicator1», «indicator2» и т. Д.), а столбец Pivot представляет само имя столбца. Следующий запрос показывает, как использовать Unpivot:
]select id, entityId,
indicatorname,
indicatorvalue
from yourtable
unpivot
(
indicatorvalue
for indicatorname in (Indicator1, Indicator2, Indicator3)
) unpiv;
, выполнив этот запрос, метрический столбец будет преобразован в строки, а имя и значение метрики будут заполнены новым столбцом.
]Альтернативы
]В дополнение к Unpivot есть и другие способы преобразования столбцов в строки:
выбор решения зависит от конкретных потребностей и версии используемого SQL Server.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3