sql解决了查询中的增长问题

sql解决了查询中的增长问题,sql,Sql,我试图计算出2年之间的增长百分比,但它返回的增长为0 SELECT my.finmonth, my.trnyear, my.drawofficenum, my1.ytdty, ly1.ytdly, CASE WHEN my1.ytdty <> 0 THEN ( my1.ytdty - ly1.ytdly ) / ly1.ytdly * 100 ELSE 0 END AS Growth2012 FROM salestymont

我试图计算出2年之间的增长百分比,但它返回的增长为0

SELECT my.finmonth,
   my.trnyear,
   my.drawofficenum,
   my1.ytdty,
   ly1.ytdly,
   CASE
     WHEN my1.ytdty <> 0 THEN ( my1.ytdty - ly1.ytdly ) / ly1.ytdly * 100
     ELSE 0
   END AS Growth2012
FROM   salestymonth my
   LEFT JOIN salestyytd my1
          ON my.finmonth = my1.finmonth
             AND my.trnyear = my1.trnyear
             AND my.drawofficenum = my1.drawofficenum
   LEFT JOIN saleslyytd ly1
          ON my.finmonth = ly1.finmonth
             AND my.trnyear = ly1.trnyear
             AND my.drawofficenum = ly1.drawofficenum
WHERE  my.finmonth = '1'
ORDER  BY ytdty DESC  
选择my.finmonth,
我的trnyear先生,
我的办公室,
my1.ytdty,
ly1.YTLY,
案例
当my1.ytdty为0时,则(my1.ytdty-ly1.ytdly)/ly1.ytdly*100
其他0
随着2012年的增长而结束
从我的销售月开始
LEFT JOIN salestyytd my1
在my.finmonth=my1.finmonth
而my.trnyear=my1.trnyear
而my.drawofficenum=my1.drawofficenum
左连接saleslyytd ly1
在my.finmonth=ly1.finmonth上
而my.trnyear=ly1.trnyear
而my.drawofficenum=ly1.drawofficenum
其中my.finmonth='1'
由ytdty DESC订购

试试1.00*(my1.YTDTY-ly1.YTDLY)/ly1.YTDLY。如果列类型为整数,则除非强制分子为十进制或浮点,否则无法从除法中获得非整数结果。

能否提供一些示例数据和预期的示例结果?如果您包含数据,我们将更容易帮助您。另外,您使用的是什么RDBMS?您所说的对SQL Server是正确的,但对其他一些SQL产品(例如MySQL)是不正确的。此外,您的
1.00
应该是
100.0