Originally posted: http://community.9cbs.net/expert/topic/3428/3428792.xml? Temp = .6476251 - Example Data Create Table Table (ID INT, NUM INT) INSERT Table Select 1,2UNION All Select 2,3 union all SELECT 3,2UNION All SELECT 4,2UNION All SELECT 5, 12UNION All SELECT 6,2UNION All SELECT 7,1 UNION All SELECT 8, 5UNION All SELECT 9, 1GO / * - Question: Input packet parameters, such as Enter "3, 6", implement it by id <= 3, 3 6 packet query input packet parameters, such as input "2, 5, 8", implementing Id <= 2, 2 8 Packet Query - * / - Inquiry of Store Create Proc P_Qry @ Numlist Varchar (1000) Asset NoCount ONDECLARE @t Table (ID ID IDENTITY, Group VARCHAR (10 ), a int, b int, @ pnum varchar (10) select @ i = charindex (', @ Numlist ', '), @ pnum = left (@ Numlist, @ i-1), @ Numlist = stuff (@ Numlist, 1, @ i, '), @ i = charindex (', ', @ Numlist) INSERT @t select' id <= ' @ pnum, null, @ pnumwhile @i> 0begin INSERT @t select @Pnum '' @ Numlist, @ Numlist, NullSelect B. Group , Num = SUM (a.Num) from Table A, @ T bwhere case when ba is null kiln case, desid <= bb THEN 1 Else 0 end when bb is null kilse 0 end else case at else 0 Else Case When A.ID> BA and A.ID <= bb THEN 1 ELSE 0 end end = 1group by b. Group ORDER BY min (B.ID) GO - Call stored procedure to query EXEC P_QRY '2,5,8'GO - Delete Test DROP TABLE Table DROP PROC P_QRY / * - Test Result Group NUM ------------------- ID <
= 2 52 8 1 - * /