내가 뭔가를하고 싶은행에 열 머리글을 돌리고 방법
ID FName LName
r1 Tom Patrik
r2 Jerry Blaku
r1 Ethan Lie
을 다음과 같은 테이블이 있습니다! SQL Server Pivot (또는 any) 명령을 사용하여이 작업을 수행 할 수 있습니까? 그렇다면 실제로 TSQL에 감사 드리겠습니다.
내가 뭔가를하고 싶은행에 열 머리글을 돌리고 방법
ID FName LName
r1 Tom Patrik
r2 Jerry Blaku
r1 Ethan Lie
을 다음과 같은 테이블이 있습니다! SQL Server Pivot (또는 any) 명령을 사용하여이 작업을 수행 할 수 있습니까? 그렇다면 실제로 TSQL에 감사 드리겠습니다.
이 작업을 수행하는 더 좋은 방법이 있습니다. 하지만 여러 열을 피봇 팅하려고 할 때 추한 해결책이 있습니다.
create table #temp
(
id int,
fname varchar(50),
lname varchar(50)
)
insert into #temp values(1, 'Tom', 'Patrik')
insert into #temp values(2, 'Jerry', 'Blaku')
SELECT 'fname', P.Tom as '1', P.Jerry as '2'
FROM
(
SELECT fname
FROM #temp
) I
PIVOT
(
min(fname)
FOR [fname] IN ([Tom], [Jerry])
) as P
UNION
SELECT 'lname', P.Patrik as '1', P.Blaku as '2'
FROM
(
SELECT lname
FROM #temp
) I
PIVOT
(
min(lname)
FOR [lname] IN ([Patrik], [Blaku])
) as P
drop table #temp
답변 해 주셔서 감사합니다. 실제로는 매우 복잡한 쿼리가 있으며 각 행에 피벗을 쓸 수 없습니다. 필자는 피벗 (Pivot)을 사용하여이 작업을 수행하는 방법에 대한 아이디어를 얻기 위해 매우 쉬운 테이블을 언급했습니다. –
동적 SQL 피벗을 사용할 수 있습니다. – Taryn
(복제) 동적 피벗이라고합니다. 보세요. http://stackoverflow.com/questions/8327261/dynamic-sql-pivot-in-sql-server http://www.simple-talk.com/community/blogs/andras/archive/2007/09/14/37265 .aspx –