-4
A
ответ
0
от простого креста Нанести
DECLARE @Table1 TABLE
(ID int,installdate varchar(20),uninstalldate varchar(20))
;
INSERT INTO @Table1
(ID,installdate,uninstalldate)
VALUES
(1,'15/06/2016','18/06/2016'),
(2,'20/06/2016','25/06/2016')
Сценарий:
select COL AS [Instal OR Uninstall],VAL AS [Date] from @Table1
CROSS APPLY
(VALUES
('installdate',installdate),
('uninstalldate',installdate))
CS(COL,VAL)
0
Простой UNPIVOT должен сделать вещь:
SELECT [DATES],
[VALUES]
FROM MyTable
UNPIVOT (
[VALUES] FOR [DATES] IN (InstallDate,UnInstallDate)
) as unpvt
Выход:
DATES VALUES
InstallDate 2016-06-15
UnInstallDate 2016-06-18
InstallDate 2016-06-20
UnInstallDate 2016-06-25
0
Вы можете UNPIVOT
столбцы в строки:
DECLARE @Data TABLE (
Id INT,
InstallDate DATE,
UnInstallDate DATE
)
INSERT @Data VALUES (1,'6/15/2016', '6/18/2016'),(2,'6/20/2016', '6/25/2016')
SELECT
ActivityType,
ActivityDate
FROM @Data
UNPIVOT (ActivityDate FOR ActivityType IN (InstallDate, UnInstallDate)) T
Это дает следующие строки:
ActivityType ActivityDate
------------------------- ------------
InstallDate 2016-06-15
UnInstallDate 2016-06-18
InstallDate 2016-06-20
UnInstallDate 2016-06-25
Добро пожаловать в StackOverflow. Пожалуйста, прочитайте [ask]. –
Просто используйте Pivot для преобразования строк в столбцы – Jesus
Возможный дубликат [сводной таблицы SQL Server с несколькими агрегатами столбцов] (http://stackoverflow.com/questions/14694691/sql-server-pivot-table-with-multiple-column- агрегаты) –