這個其實很好做的!
用存儲過程做吧
你可以建一個臨時表,臨時表有如下列
说 明 数X 结果1 结果2 结果3 结果4 ...结果9
再用游標插入
create Table #XY
(
說明 varchar(10),
數X int,
Y1 int,
Y2 int,
Y3 int,
Y4 int,
Y5 int,
Y6 int,
Y7 int,
Y8 int,
Y9 int
)
declare @字母 varchar(10)
declare @數X int
declare @數Y int
declare @結果 int
declare CursorName scroll Cursor for
select 字母,數X,數Y,結果
from A
order by 字母,數X
open Cursor
Fetch first from CursorName into @字母,@數X,@數Y,@結果
while @@Fetch_status = 0
begin
if @數Y = 1
insert into #XY(說明,數X,Y1)
values(@字母,@數X,@結果)
else if @數Y = 2
insert into #XY(說明,數X,Y1)
values(@字母,@數X,@結果)
else if @數Y = 3
insert into #XY(說明,數X,Y3)
values(@字母,@數X,@結果)
else if @數Y = 4
insert into #XY(說明,數X,Y4)
values(@字母,@數X,@結果)
else if @數Y = 5
insert into #XY(說明,數X,Y5)
values(@字母,@數X,@結果)
else if @數Y = 6
insert into #XY(說明,數X,Y6)
values(@字母,@數X,@結果)
else if @數Y = 7
insert into #XY(說明,數X,Y7)
values(@字母,@數X,@結果)
else if @數Y = 8
insert into #XY(說明,數X,Y8)
values(@字母,@數X,@結果)
else if @數Y = 9
insert into #XY(說明,數X,Y9)
values(@字母,@數X,@結果)
Fetch next form CursorName into @字母,@數X,@數Y,@結果
end
select *
from #XY
order by 說明,數X