在SQL2000中如何把資料由列轉成行 |
尚未結案
|
Link_Chen
一般會員 發表:25 回覆:22 積分:9 註冊:2004-03-30 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
Link_Chen
一般會員 發表:25 回覆:22 積分:9 註冊:2004-03-30 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
Link_Chen您好
就如Mickey前輩所說的, 透過Transact-SQL及暫存檔使直式轉成橫式
以下示意給您參考, 您自己根據需求再去修正
declare @Source table(f1 char(3), f2 char(3)) insert @source (f1,f2) values('1','a') insert @source (f1,f2) values('2','b') insert @source (f1,f2) values('3','c') insert @source (f1,f2) values('4','d') insert @source (f1,f2) values('5',null) insert @source (f1,f2) values('6','e') insert @source (f1,f2) values('7','f') insert @source (f1,f2) values('8','g') insert @source (f1,f2) values('9','h') insert @source (f1,f2) values('10',null) declare list cursor for select * from @source open list declare @f1 int,@f2 char(3) declare @result table(f1 char(3), f2 char(3), f3 char(3), f4 char(3), f5 char(3)) declare @xf1 char(3), @xf2 char(3), @xf3 char(3), @xf4 char(3), @xf5 char(3) fetch next from list into @f1,@f2 while @@fetch_status=0 begin declare @col int set @col=@f1 % 5 --print @col if @col=1 set @xf1=@f2 if @col=2 set @xf2=@f2 if @col=3 set @xf3=@f2 if @col=4 set @xf4=@f2 if @col=0 set @xf5=@f2 if @f2 is null insert @result (f1, f2, f3, f4, f5) values (@xf1, @xf2, @xf3, @xf4, @xf5) fetch next from list into @f1,@f2 end close list deallocate list select * from @result |
Link_Chen
一般會員 發表:25 回覆:22 積分:9 註冊:2004-03-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |