求A表到B表的转换SQL语句
如题,A表是月次表,表结构如下: 
 ID,      NAME,                  MONTH,               CASEDAY1,            CASEDAY2,...CASEDAY31 
 001            name1                  200710                     case1                         case2                           case31 
 002            name2                  200710                     case1                         case2                           case31 
 B表是日次表,表结构如下: 
 ID,      NAME,                  MONTHDAY,      CASE 
 001            name1                  20071001            case1 
 001            name1                  20071002            case2 
 ................................... 
 001            name1                  20071030            case30 
 002            name2                  20071001            case1 
 002            name2                  20071002            case2 
 ................................... 
 002            name2                  20071030            case30   
 我目前想到的方法是这样的 
 INSERT   INTO   B   SELECT   ID,NAME,MONTH+ '01 ',CASEDAY1   FROM   A   
 INSERT   INTO   B   SELECT   ID,NAME,MONTH+ '02 ',CASEDAY2   FROM   A   
 ....................................................... 
 INSERT   INTO   B   SELECT   ID,NAME,MONTH+ '31 ',CASEDAY31   FROM   A 
 但我觉得效率不高,每次都要执行31条SQL语句才能完成转换,大家有更简单的方法吗? 
 谢谢     
------解决方案--------------------insert into b select 
 ( 
   SELECT ID,NAME,MONTH+ '01 ',CASEDAY1 FROM A 
   union all 
   SELECT ID,NAME,MONTH+ '02 ',CASEDAY2 FROM A 
   ...... 
   union all 
   SELECT ID,NAME,MONTH+ '31 ',CASEDAY31 FROM A 
 ) t 
------解决方案--------------------乌龟是个勤奋的人
------解决方案--------------------厄~想打字少就存储过程吧 
 貌似没有什么好办法~