我是否使用select查询从一行创建了两行?
这是一个例子
create table timecards
(employeeid nvarchar(10) not null,
regulartime int null,
overtime int null)
insert into timecards
values ('A', 8, 1)
我希望结果是
A,8
A,1
答案 0 :(得分:2)
你可以unpivot
表。在这种情况下,任何列中的null
值都将被消除。
select employeeid, tm
from
(select employeeid,regulartime,overtime from timecard) t
UNPIVOT
(tm for id in (regulartime,overtime)
) as x
答案 1 :(得分:1)
很多方式......怎么样
select employeeid, regulartime as somekindatime
from timecards
union all
select employeeid, overtime
from timecards
ALL关键字只是告诉SQL我们不想排序和消除重复项。除非你真的想要消除重复的行,否则可以节省时间。