SQL의 열 및 피벗에 문자열을 분할 나는 (이 같은 테이블 (## tt_allresults가)내가 SQL 서버 2014을 사용하고
ID | Area | Event |
1 | FB1 | Dev_Chg, Old Value: 0, New Value: 50, Workstation: Blah1, Function: Blah1 func |
1 | FB2 | Dev_Chg, Old Value: 99, New Value: 5, Workstation: Blah2, Function: Blah2 func |
1 | FB1 | Dev_Chg, Old Value: 50, New Value: 55, Workstation: Blah1, Function: Blah1 func |
내가 이렇게 같은 테이블에서 싶습니다 예상 출력이)
Area | Old Value | New Value | Function |
FB1 | 0 | 50 | Blah1 func |
FB2 | 99 | 5 | Blah2 func |
FB1 | 50 | 55 | Blah1 func |
이 내가 지금까지 나는 다음과 같은 결과를 얻을
Declare @id int
WHILE EXISTS(SELECT * FROM ##tt_allresults)
BEGIN
Select Top 1 @id = Id from ##tt_allresults
-- Do the work --
Declare @area nvarchar(100)
set @area = (Select Area from ##tt_allresults where id = @id)
Insert into ##tt_changedetails
select @area, * from fnsplit((Select [event] from ##tt_allresults where id = @id),',')
-- Scrap the ID and Move On --
Delete ##tt_allresults where ID = @id
END
select * from ##tt_changedetails
을 시도한 것입니다
Area | ChangeDetails |
FB1 | Dev_Chg |
FB1 | Old value :0 |
FB1 | New Value :50 |
FB1 | Workstation :blah1 |
FB1 | Function :blah1 func |
FB2 | Dev_Chg |
FB2 | Old value :99 |
FB2 | New Value :5 |
FB2 | Workstation :blah2 |
FB2 | Function :blah2 func |
FB1 | Dev_Chg |
FB1 | Old value :50 |
FB1 | New Value :55 |
FB1 | Workstation :blah1 |
FB1 | Function :blah1 func |
어떻게 초기 테이블을 분할하고 분할 기준으로 피벗합니까? 다음 결과를보고 싶습니다.
FB1 | 0 | 50 | Blah1 func |
FB2 | 99 | 5 | Blah2 func |
FB1 | 50 | 55 | Blah1 func |
다음 (쉽게 TVF 될 수있는) 적용 생산 @Chanukya - 질문을 업데이트했습니다. 추가 질문이 있으시면 언제든지 문의하십시오. – Abe
원하는 결과는 무엇입니까? – iamdave
@iamdave - 내 질문에 예상되는 출력 테이블. – Abe