有这样一个结果集
Table1
ID  ClassID Num
2   6       3
3   6       4
5   2       8
7   2       4我要把这个结果集按照ClassID分类,分别插入另一个表
也就是做成循环,先插入两条ClassID = 6的记录,再插入ClassID = 2的记录
我现在的想法是
用游标先查询(SELECT @CID = ClassID FROM Table1 GROUP BY ClassID) 
然后循环分别查询SELECT * FROM Table1 WHERE ClassID = @CID
这样应该能解决问题
但我现在不知道除了用游标,还有没更好的解决办法?
请高手指点

解决方案 »

  1.   

    排序问题??insert tablename1(....)
    select .... from tablename a
    order by (select min(id) from tablename where ClassID=a.ClassID),id
      

  2.   

    排序 ClassID  不就是自动分组了吗 不太明白你的意思?
      

  3.   

    insert tablename1(....)
    select .... from tablename a
    order by a.ClassID desc,a.id asc
      

  4.   

    是按ClassID分组插入其它表
    不是排序的问题
    我要做成循环,按ClassID相同的记录插入其它表
    不是一次性插入所有记录,因为每循环一次我还要做些其它操作
    如:循环第一次时只插入ClassID = 6 的记录
    循环第二次时插入ClassID = 2的记录
    第三次....
      

  5.   

    动态生成SQL呀! 
    不过也要有个循环过程. 就是不断的替换 ClassID 及 相应有表名
      

  6.   

    把所有不重复的classid查出来放临时表,再循环临时表.