Sql 游標處理報表分析

2022-08-11 20:42:15 字數 1814 閱讀 8686

1.  有上萬資料的**如下截圖所示

2.  其中數字1表示正常,其他數字為不正常。每一具有"name"屬性的行如果一直正常,則該資訊合理;如若每一"name"的屬性在出現正常情況下

有不正常情況出現後又有正常情況出現(亦即正常與不正常現象交替出現),則只是從最開始持續是正常的情況為合理資訊,其後出現的正常視不合理

資訊。3.  實現如下:

declare dealinfo_cursor cursor

forselect

distinct banid,min(sn)over(partition by banid ) as cc from

tabbooks

open

dealinfo_cursor

declare

@banid

varchar(30),@cc

float

fetch

next

from dealinfo_cursor into

@banid,@cc

while

@@fetch_status=0

begin

declare mm_cur cursor

forselect

*from tabbooks where banid=

@banid

open

mm_cur

declare

@snfloat,@id

float,@deptsend

varchar(30),@deptreceive

varchar(50),@ifcancel

varchar(50

) ,

@banid2

varchar(30),@mbtype

varchar(30),@scandate

datetime,@isok

varchar(30

)

fetch

next

from mm_cur into

@sn,@id,@deptsend,@deptreceive,@ifcancel,@banid2,@mbtype,@scandate,@isok

while(@@fetch_status=0

)

begin

set@cc

=@cc+1

if( @sn

=@cc-1

)

insert

into tmp_tbbooks_b values(@sn,@id,@deptsend,@deptreceive,@ifcancel,@banid2,@mbtype,@scandate,@isok

)

fetch

next

from mm_cur into

@sn,@id,@deptsend,@deptreceive,@ifcancel,@banid2,@mbtype,@scandate,@isok

endclose

mm_cur

deallocate

mm_cur

fetch

next

from dealinfo_cursor into

@banid,@cc

endclose

dealinfo_cursor

deallocate dealinfo_cursor

FineReport報表中處理SQL傳參問題

1.本來開始是準備傳個引數值companypartyid select company code,company name,parent party id from company t where if select company name from company where company p...

SQL游標操作

select count id from info select from info 清除所有記錄 truncate table info declare i int set i 1 while i 1000000 begin insert into info values justin str i...

sql 迴圈,游標

declare userid varchar 50 declare my cursor cursor 定義游標 for select userid from dbo.memberaccount 查出需要的集合放到游標中 open my cursor 開啟游標 fetch next from my c...