-------

解决方案 »

  1.   

    declare @t table(id int)
    insert @t select 1
    insert @t select 2
    insert @t select 3
    insert @t select 4
    insert @t select 5
    insert @t select 6
    insert @t select 7
    insert @t select 8
    insert @t select 9select ltrim(a.id) +'*'+ ltrim(b.id)+'= '+ltrim(a.id *b.id)from @t a,@t b
    where a.id <=b.id
    order by a.id*b.id
    /*                                        
                                            
    --------------------------------------- 
    1*1= 1
    1*2= 2
    1*3= 3
    2*2= 4
    1*4= 4
    1*5= 5
    1*6= 6
    2*3= 6
    1*7= 7
    1*8= 8
    2*4= 8
    3*3= 9
    1*9= 9
    2*5= 10
    3*4= 12
    2*6= 12
    2*7= 14
    3*5= 15
    4*4= 16
    2*8= 16
    3*6= 18
    2*9= 18
    4*5= 20
    3*7= 21
    4*6= 24
    3*8= 24
    5*5= 25
    3*9= 27
    4*7= 28
    5*6= 30
    4*8= 32
    5*7= 35
    6*6= 36
    4*9= 36
    5*8= 40
    6*7= 42
    5*9= 45
    6*8= 48
    7*7= 49
    6*9= 54
    7*8= 56
    7*9= 63
    8*8= 64
    8*9= 72
    9*9= 81(所影响的行数为 45 行)
    */
      

  2.   

    declare @i int,@j int,@s varchar(100)
    select @i = 1
    while @i<=9
    begin
     select @j= 1,@s = ''
     while @j<=@i
     begin
      set @s = @s +' '+rtrim(@i)+'*'+rtrim(@j)+'='+right(' '+rtrim(@i*@j),2)
      set @j = @j+1
     end
     print @s
     set @i = @i +1
    end
    /*
     1*1= 1
     2*1= 2 2*2= 4
     3*1= 3 3*2= 6 3*3= 9
     4*1= 4 4*2= 8 4*3=12 4*4=16
     5*1= 5 5*2=10 5*3=15 5*4=20 5*5=25
     6*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
     7*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
     8*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
     9*1= 9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
    */