Sql server 2008 遇到Sql Server查询被零除错误
我发现我的查询有错误。我怎样才能解决它。我尝试了null if,但它不起作用 遇到被零除的错误Sql server 2008 遇到Sql Server查询被零除错误,sql-server-2008,Sql Server 2008,我发现我的查询有错误。我怎样才能解决它。我尝试了null if,但它不起作用 遇到被零除的错误 SELECT ( 100 - ( ( sum(t1.cAmount) - ( SUM(t1.cAmount) * t2.rAdvancedAmotizationPercent / 100 ) ) * 100 ) / t3.rAmount ) AS restofTotalMoblization, ( ( sum(t1.cAmount) - ( SUM(t1.cAmount) * t2.rA
SELECT ( 100 - ( ( sum(t1.cAmount) - ( SUM(t1.cAmount) * t2.rAdvancedAmotizationPercent / 100 ) ) * 100 ) / t3.rAmount ) AS restofTotalMoblization,
( ( sum(t1.cAmount) - ( SUM(t1.cAmount) * t2.rAdvancedAmotizationPercent / 100 ) ) * 100 ) / t3.rAmount AS totalMoblization
FROM tblPkgAdvances t1
INNER JOIN tblFianacialInvoice t2
ON t1.vsSysPackageId = 'GWSSP/WS/03'
INNER JOIN tblPkgContractAwardDetails t3
ON t2.iPackageId = t3.iPackageId
WHERE t1.vsSysPackageId = 'GWSSP/WS/03'
GROUP BY t1.cAmount,
t2.rAdvancedAmotizationPercent,
t3.rAmount
而不是
(100 - ((sum(t1.cAmount) - (SUM(t1.cAmount) * t2.rAdvancedAmotizationPercent / 100)) * 100) / t3.rAmount)
你能行
case when t3.rAmount = 0
then 0
else (100 - ((sum(t1.cAmount) - (SUM(t1.cAmount) * t2.rAdvancedAmotizationPercent / 100)) * 100) / t3.rAmount) end
你可以试试
SELECT ( 100 - ( ( sum(t1.cAmount) - ( SUM(t1.cAmount) * t2.rAdvancedAmotizationPercent / 100 ) ) * 100 ) / t3.rAmount ) AS restofTotalMoblization,
( ( sum(t1.cAmount) - ( SUM(t1.cAmount) * t2.rAdvancedAmotizationPercent / 100 ) ) * 100 ) / t3.rAmount AS totalMoblization
FROM tblPkgAdvances t1
INNER JOIN tblFianacialInvoice t2
ON t1.vsSysPackageId = 'GWSSP/WS/03'
INNER JOIN tblPkgContractAwardDetails t3
ON t2.iPackageId = t3.iPackageId
WHERE t1.vsSysPackageId = 'GWSSP/WS/03' and t3.rAmount>0
GROUP BY t1.cAmount,
t2.rAdvancedAmotizationPercent,
t3.rAmount
我刚刚筛选出大于0的记录