1
Мне нужно сгладить набор записей, который изначально имеет 4 строки на пользователя для 1 строки. Я начал использовать функциональность PIVOT, но есть 2 поля, которые нужно сгладить (и ось не работает должным образом).Строки строк SQL Server 2008
Текущая структура данных:
ContactEmail Scenario TRE Updated_On
-------------------------------------------------------------
[email protected] WTD 0.9785 2015-05-12 22:35:14.993
[email protected] MTD 0.9817 2015-05-12 22:35:57.780
[email protected] QTD 0.9542 2015-05-12 23:16:35.227
[email protected] YTD 0.9522 2015-05-12 23:39:56.533
Результат должен быть:
ContactEmail WTD_TRE WTD_TRE_Updated MTD_TRE MTD_TRE_Updated QTD_TRE QTD_TRE_Updated YTD_TRE YTD_TRE_Updated
--------------------------------------------------------------------------------------------------------------------
[email protected] 0.9785 2015-05-12 0.9817 2015-05-12 0.9542 2015-05-12 0.9522 2015-05-12
Если вам интересно о PIVOT я попробовал, здесь есть (TRE_ * были нуль)
SELECT *
FROM (SELECT ContactEmail, Round((ISNULL(TRE, 0) * 100), 1) AS "TRE", Scenario, Updated_On
FROM [server].[db].[schema].[table]) AS TREData
PIVOT
(
SUM(TRE)
FOR Scenario
IN ([TRE_WTD],[TRE_MTD],[TRE_QTD],[TRE_YTD])
) AS PivotTable;
'TRE_WTD' не является значением' Scenario', я думаю, вам нужно использовать 'FOR Scenario IN ([WTD], [MTD] ..)' – NickyvV