您应该能够使用PIVOT http://msdn.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx函数得到结果:
select jobid, hr, manager, employee
from yourtable
pivot
(
max(jobvalue)
for jobtype in (hr, manager, employee)
) piv;
See SQL 摆弄演示 http://sqlfiddle.com/#!3/4cb06/1.
如果您想列出jobvalue
在每个下jobType
如果不显示 jobid,那么您可以使用:
select hr, manager, employee
from
(
select jobtype, jobvalue,
row_number() over(partition by jobtype order by jobid) rn
from yourtable
) d
pivot
(
max(jobvalue)
for jobtype in (hr, manager, employee)
) piv;
See SQL 摆弄演示 http://sqlfiddle.com/#!3/4cb06/4