to uiit
我想weichao9999在DECLARE dataCR CURSOR For select OrdNo,COrdNo,PrdtID,Name,Color,Qty from t_HomeWork5
order by OrdNo,COrdNo,PrdtID,Name,Color,Qty 已经对表进行排序了吧,所以不可能出现你的顾虑吧“第三行又和第一行前几个字段相同时,你就不会正确结果了了”
uiit兄出的题目比较考验人,如果是试面的话我一般都出几个联合查询的例子,这个难度的我不会出,因为好多人答不上来。
to xl4772
==to weichao9999:最后几行里面的
== set @OrdNo2 = @OrdNo
== set @COrdNo2 = @COrdNo
== set @PrdtID2 = @PrdtID
== set @Name2 = @Name
== set @Color2 = @Color
== set @Qty2 = @Qty
==
== FETCH NEXT FROM dataCR into @OrdNo,@COrdNo,@PrdtID,@Name,@Color,@Qty
有个思路,还想了俩小时
(wei老师的带排序就比这个好,所以也懒得去试):
Create procedure Sort
as
declare my_cursor cursor for
...
fetch next my_cursor
while ...
begin
...--wei老师程序
create function sort(字段参数)
return @tb table()--临时表
as
begin
declare my_cursor2 cursor
for select ...from @tb
fetch ...
while
begin
..逐行比较
insert into @tb
fetch next my_cursor2
end
...
end
fetch next my_cursor
end;
...