Показать сообщение отдельно
Старый 15.10.2013, 00:35   #17  
Alex_K is offline
Alex_K
Участник
 
531 / 36 (3) +++
Регистрация: 07.02.2003
Ну тады и от себя добавлю 5 копеек
Небольшая наколенная модель с использованием оператора UNPIVOT:
X++:
--    
CREATE TABLE Perfomance (EmplID varchar(20), FromDate datetime, ToDate datetime, 
                         Result int, Result2_ int, Result3_ int, Result4_ int,Result5_ int,Result6_ int, Result7_ int);

GO
INSERT INTO Perfomance VALUES ('Иванов','2013-10-07','2013-10-07',1,2,3,4,5,6,7);
INSERT INTO Perfomance VALUES ('Иванов','2013-10-14','2013-10-20',4,5,6,7,8,9,10);
INSERT INTO Perfomance VALUES ('Петров','2013-10-07','2013-10-07',2,3,4,5,6,7,8);
INSERT INTO Perfomance VALUES ('Петров','2013-10-14','2013-10-20',9,8,6,7,8,9,10);

GO

--  Unpivot    
SELECT EmplID, (dateadd(DAY, CAST(DayIdx as int), FromDate) ) as TransDate, Results
FROM 
   (SELECT EmplID, FromDate, Result "0", Result2_ "1", Result3_ "2", Result4_ "3", Result5_ "4", Result6_ "5", Result7_ "6"
   FROM Perfomance) p
UNPIVOT
   (Results FOR DayIdx IN 
      ("0", "1", "2", "3", "4", "5", "6")
)AS unpvt;
GO
Создаем в DSV новый Named Query, вставляем в него SELECT и после некоторого негодования BIDS на нему "Unpivot statement not supported" получаем искомый результат.
Нажмите на изображение для увеличения
Название: screenshot.png
Просмотров: 400
Размер:	10.9 Кб
ID:	8454
За это сообщение автора поблагодарили: Cardagant (1).