2015-05-22 36 views
1

我有这样SQL服务器 - 打破单列成两

ID | A | B  | InTime     | OutTime 
10 | 19 | 18078 | 2011-09-07 16:51:56.807 | 2011-11-09 22:39:02.487 

一个表,但我想要得到的数据如下格式

ID | A | B  | Time 
10 | 19| 18078 | 2011-09-07 16:51:56.807 
10 | 19| 18078 | 2011-11-09 22:39:02.487 

对不起提前,因为我在一个有点幼稚如此复杂的查询。我试图在搜索,发现各种选项,如PIVOT,UNPIVOT,CROSS APPLY,但万不能发现任何精确解/方向看出来英寸

感谢很多提前

+0

现在最多的投票答案不能正常工作,因为你需要。看到我的答案,没有人使用Order by和别名。我想你也需要它。 – Horaciux

回答

2

我可能会去简单的东西,就像一个union all

select ID, A, B, InTime [Time] from myTable 
union all 
select ID, A, B, OutTime [Time] from myTable 
+0

非常感谢您的快速响应。它解决了:) –

3

试试这个:

Select ID, A, B, InTime From Table 
Union All 
Select ID, A, B, OutTime From Table 
+0

感谢您的快速响应。有效 :) –

0
select id,a,b,timein as Time from table 
union all 
select id,a,b,outtime from table 
order by id,a,b,time 
0

我相信这应该让你得到你想要的东西:

select id,a,b,InTime as 'Time' 
from table 
union all 
select id,a,b,OutTime 
from table