declare @t table(sCardID int, cEffect int)
insert @t select 1, 1000
insert @t select 2, 100
insert @t select 3, 500
insert @t select 4, 200
insert @t select 5, 200
....................................
求cEffect和等于500的所有情况对应的sCardID
insert @t select 1, 1000
insert @t select 2, 100
insert @t select 3, 500
insert @t select 4, 200
insert @t select 5, 200
....................................
求cEffect和等于500的所有情况对应的sCardID
godeclare @t table(sCardID int, cEffect int)
declare @i int
set @i = 1
while (@i <= 1000)
begin
insert into @t select @i,@i
set @i = @i + 1
endselect a.*,b.* from
( select sCardID,cEffect from @t where cEffect < 500 ) a inner join
( select sCardID,cEffect from @t where cEffect < 500 ) b
on a.cEffect = 500 - b.cEffect --(所影响的行数为 499 行)
godeclare @t table(sCardID int, cEffect int)
declare @i int
set @i = 1
while (@i <= 1000)
begin
insert into @t select @i,@i
set @i = @i + 1
endselect a.*,b.* from
( select sCardID,cEffect from @t where cEffect < 250 ) a inner join
( select sCardID,cEffect from @t where cEffect <= 250 ) b
on a.cEffect = 500 - b.cEffect
你的结果貌似不符合我的要求
declare @t table(sCardID int, cEffect int)
insert @t select 1, 1000
insert @t select 2, 100
insert @t select 3, 500
insert @t select 4, 200
insert @t select 5, 200
insert @t select 6, 300
sCardID =3是一种情况
sCardID =2,4,5 是种情况
sCardID =4,5
sCardID =4,6
........