2014-11-05 4 views
0

그래서 나는이처럼 보이는 테이블이 :동적 피벗이 필요합니까? 아니면 다른 방법이 있습니까?

Item_Id  Value  Type 
001   300  B2B 
001   450  (blank) 

내 결과는 같을 것이다, 그래서 B2B와 P2P 열을 만들려고 노력하고 있어요 :

Item_Id  B2B  (blank) 
001   300  450 

을 그래서 대신 2 개 행을 차지 지금은 단지 하나만 차지합니다. 문제는 값이 정적이 아니며이를 설명 할 필요가 있다는 것입니다. 동적 쿼리 + 피벗은 내 리그에서 약간 벗어나지 만 불가능하지는 않습니다. 이 문제를 해결하기 위해 case 문이나 다른 방법을 사용할 수 있기를 바랍니다 ... 어떤 도움도 대단히 감사합니다!

빈 칸의 이름을 바꾸고 싶습니다 .... 또한 블랭킷 빈으로 인해 유형이 작동하지 않는 것처럼 보입니다.

+1

정적 유형입니까? 그렇다면 원하는 결과를 생성하기 위해 동적 피벗이 필요하지 않습니다. 유형의 표준 피벗 일뿐입니다. –

+0

탭에 동의합니다. 요 정적 유형이 있으면 동적 SQL이 필요하지 않습니다. 그렇지 않으면 우리는 하나를 쓸 수 있습니다 – Sagar

+0

유형은 정적이지만 내 유형 중 하나는 공란입니다. =/ – user3486773

답변

1

정상적인 정적 피벗 작동을 시도해보십시오. 나는 빈 열을 삽입하므로 열 이름이 필요 없다고 생각합니다.

INSERT INTO #temp 
SELECT '001','300','B2B' 
UNION 
SELECT 001,450,'' 


SELECT * 
FROM (SELECT * 
     FROM #temp) AS p 
     PIVOT (Max(value) 
      FOR [type] IN([B2B], 
          [ ])) piv 
+0

나는 이것을 필요한 것보다 훨씬 더 어렵게 만들고있었습니다. 방금 공백에 대한 유형을 작성하기 위해 사례 명세서를 작성한 다음 모두 정적 피벗과 잘 맞습니다. 나는이 사이트를 좋아합니다. 가끔씩 나는 연결을하지 않고 여기에있는 전문가의 도움이 필요하기 때문입니다. 이걸 도와 주신 모든 분들께 감사드립니다! – user3486773

관련 문제