我在此查询中遇到问题
select SUM(stock),
SUM(Req_Stock),
(SUM(Req_Stock)-SUM(stock))/SUM(stock)
from #mapo Join #capo
on #mapo.Wk_Num=#capo.Wk_Num
答案 0 :(得分:2)
将其中一个元素乘以1.0,以强制SQL Server不将所有内容视为整数。你的演员没有工作,因为你在分裂后施展它。像SUM(Req_Stock * 1.0)
这样的东西应该有效。
答案 1 :(得分:1)
如果列是整数字段,则它不会给出带除法的小数值。
要获取小数值,您必须将分子和Demoninator强制转换为浮点数,然后除以结果:
select SUM(stock),
SUM(Req_Stock),
CAST((SUM(Req_Stock) - SUM(stock)) AS Float) / CAST(SUM(stock) AS Float)
from #mapo Join #capo
on #mapo.Wk_Num = #capo.Wk_Num;`