当前位置: 代码迷 >> Sql Server >> 来,试试用SQL写乖法口决 100分,该怎么处理
  详细解决方案

来,试试用SQL写乖法口决 100分,该怎么处理

热度:102   发布时间:2016-04-27 19:11:26.0
来,试试用SQL写乖法口决 100分
SQL code
--SQL写乖法口决--能写出思路与SQL注释,便于大家理解才好,谢谢!    1     2      3      4      5      6      7      8      9    ----- ------ ------ ------ ------ ------ ------ ------ ------1   1X1=1                                                  2   1X2=2 2X2=4                                            3   1X3=3 2X3=6  3X3=9                                     4   1X4=4 2X4=8  3X4=12 4X4=16                             5   1X5=5 2X5=10 3X5=15 4X5=20 5X5=25                      6   1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36               7   1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49        8   1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64 9   1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81


------解决方案--------------------
SQL code
declare   @i   smallint,@j   smallint,@str   varchar(100)     set   @i=1     while   @i<=9     begin     select   @j=1,@str=''     while   @j<[email protected]     select   @[email protected]     +cast(@j   as   char(1))     +'*'+cast(@i   as   char(1))     +'='+cast(@[email protected]   as   char(2))     +space(2)     ,@[email protected]+1     print   @str       set   @[email protected]+1     end
------解决方案--------------------
SQL code
select a.number ,    [1]=CASE WHEN 1>A.NUMBER THEN '' ELSE '1'+'X'+ltrim(a.number)+'='+ltrim(1*a.number) END,    [2]=CASE WHEN 2>A.NUMBER THEN '' ELSE '2'+'X'+ltrim(a.number)+'='+ltrim(2*a.number) END,    [3]=CASE WHEN 3>A.NUMBER THEN '' ELSE '3'+'X'+ltrim(a.number)+'='+ltrim(3*a.number) END,    [4]=CASE WHEN 4>A.NUMBER THEN '' ELSE '4'+'X'+ltrim(a.number)+'='+ltrim(4*a.number) END,    [5]=CASE WHEN 5>A.NUMBER THEN '' ELSE '5'+'X'+ltrim(a.number)+'='+ltrim(5*a.number) END,    [6]=CASE WHEN 6>A.NUMBER THEN '' ELSE '6'+'X'+ltrim(a.number)+'='+ltrim(6*a.number) END,    [7]=CASE WHEN 7>A.NUMBER THEN '' ELSE '7'+'X'+ltrim(a.number)+'='+ltrim(7*a.number) END,    [8]=CASE WHEN 8>A.NUMBER THEN '' ELSE '8'+'X'+ltrim(a.number)+'='+ltrim(8*a.number) END,    [9]=CASE WHEN 9>A.NUMBER THEN '' ELSE '9'+'X'+ltrim(a.number)+'='+ltrim(9*a.number) ENDfrom master..spt_values awhere type='p' and number between 1 and 9 number      1                           2                           3                           4                           5                           6                           7                           8                           9----------- --------------------------- --------------------------- --------------------------- --------------------------- --------------------------- --------------------------- --------------------------- --------------------------- ---------------------------1           1X1=1                                                                                                                                                                                                                           2           1X2=2                       2X2=4                                                                                                                                                                                               3           1X3=3                       2X3=6                       3X3=9                                                                                                                                                                   4           1X4=4                       2X4=8                       3X4=12                      4X4=16                                                                                                                                      5           1X5=5                       2X5=10                      3X5=15                      4X5=20                      5X5=25                                                                                                          6           1X6=6                       2X6=12                      3X6=18                      4X6=24                      5X6=30                      6X6=36                                                                              7           1X7=7                       2X7=14                      3X7=21                      4X7=28                      5X7=35                      6X7=42                      7X7=49                                                  8           1X8=8                       2X8=16                      3X8=24                      4X8=32                      5X8=40                      6X8=48                      7X8=56                      8X8=64                      9           1X9=9                       2X9=18                      3X9=27                      4X9=36                      5X9=45                      6X9=54                      7X9=63                      8X9=72                      9X9=81(9 行受影响)
  相关解决方案