SQL语句就不给你写了。我认为你的表结构实在太不合理了。建议:
表B不要,表A改成两个字段:月份,利率。这样,录入数据和查询都方便,合理。

解决方案 »

  1.   

    declare @sql varchar(8000),@i intset @sql='insert into a(term,rate) select '
    set @i=1
    while @i<180
    begin
    set @sql=@sql+ cast(@i as char(3)) +', 值 from b union select '
    set @i=@i+1
    end
    set @sql=@sql+ cast(@i as char(3)) +', 值 from b'
    exec @sql
      

  2.   

    select a.利率 from 表a a join 表b b on a.月份=b.月份
      

  3.   

    改一下
    declare @sql varchar(8000),@i intset @sql='insert into a(term,rate) select '
    set @i=1
    while @i<180
    begin
    set @sql=@sql+ cast(@i as char(3)) +',['+ cast(@i as char(3))+']  from b union select '
    set @i=@i+1
    end
    set @sql=@sql+ cast(@i as char(3)) +',['+ cast(@i as char(3))+']  from b'
    exec @sql