with data as (
select *, row_number() over (partition by ID order by ID) as rowid
from (
values (1, 'Joe', 1234),
(1, 'Marie', 5678),
(1, 'Ron', 2222),
(1, 'Tom', 4444)
) t (ID, Name, Number)
)
select t.ID, t.[1] as Name, t2.[1] as Number, t.[2] as Name, t2.[2] as Number,
t.[3] as Name, t2.[3] as Number, t.[4] as Name, t2.[4] as Number
from (
select ID, Name, rowid
from data
) d pivot (min(Name) for rowid in ([1], [2], [3], [4])) t
inner join (
select ID, Number, rowid
from data
) d2 pivot (min(Number) for rowid in ([1], [2], [3], [4])) t2 on t.ID = t2.ID
다른 행이 있으면 결과 집합을 표시해야합니다 :'1 | 짐보 | 9999 |'? 네가 겪고있는 아주 이상한 결과 인 것 같아. – Yuck