SQL Server 2008 R2将一行结果拆分为两行



简单来说,表(t1(如下所示:

id     hours    dollars
-----------------------
abc     4         40

我想从下面的表格中得到结果:

abcHours      4      0
abcDollars    0      40

感谢

您可以使用cross apply:取消预览

select x.*
from mytable t
cross apply (values 
(concat(id, 'Hours'  ), hours, 0      ), 
(concat(id, 'Dollars'), 0,     dollars)
) as x(newid, hours, dollars)

您可以尝试使用运算符Union:进行简单查询

Select  'abcHours' as  abcHour, hours as Hour, 0 as dollar
Union all
Select  'abcDollars', 0, dollars

最新更新