Jquery 正在忽略SQL中操作的0值
我有一个查询,选择供应商代码、供应商名称、借方、贷方和借方减去贷方作为最终余额 如何忽略最终余额的0值Jquery 正在忽略SQL中操作的0值,jquery,sql,sql-server,Jquery,Sql,Sql Server,我有一个查询,选择供应商代码、供应商名称、借方、贷方和借方减去贷方作为最终余额 如何忽略最终余额的0值 SELECT min(t1.ShortName), min(t0.cardname), str(sum(t1.debit),15,2), str( sum(t1.Credit),13,2), str(isnull(sum(T1.DEBIT) - abs(sum(T1.CREDIT)),0),13,2)[FINAL] FROM JDT1 t1 INNER JOIN OCR
SELECT min(t1.ShortName), min(t0.cardname),
str(sum(t1.debit),15,2), str( sum(t1.Credit),13,2),
str(isnull(sum(T1.DEBIT) - abs(sum(T1.CREDIT)),0),13,2)[FINAL]
FROM JDT1 t1
INNER JOIN OCRD t0 ON t1.ShortName = t0.CardCode
WHERE t0.CardType = 'S' AND year(t1.taxDate) = year(@Fecha)
GROUP BY t1.ShortName, t0.CardName
ORDER BY t1.ShortName
将结果转储到临时表中,然后从该表中选择带有条件的where子句,如下所示:
SELECT Min(t1.ShortName),
Min(t0.cardname),
Str(Sum(t1.debit), 15, 2),
Str(Sum(t1.Credit), 13, 2),
Str(Isnull(Sum(T1.DEBIT) - Abs(Sum(T1.CREDIT)), 0), 13, 2)[FINAL]
into #temp
FROM JDT1 t1
INNER JOIN OCRD t0
ON t1.ShortName = t0.CardCode
WHERE t0.CardType = 'S'
AND Year(t1.taxDate) = Year(@Fecha)
GROUP BY t1.ShortName,
t0.CardName
ORDER BY t1.ShortName
SELECT * FROM #temp where FINAL <> '0'
您只需在having子句中添加以下内容:
SELECT Min(t1.ShortName),
Min(t0.cardname),
Str(Sum(t1.debit), 15, 2),
Str(Sum(t1.Credit), 13, 2),
Str(Isnull(Sum(T1.DEBIT) - Abs(Sum(T1.CREDIT)), 0), 13, 2)[FINAL]
FROM JDT1 t1
INNER JOIN OCRD t0
ON t1.ShortName = t0.CardCode
WHERE t0.CardType = 'S'
AND Year(t1.taxDate) = Year(@Fecha)
GROUP BY t1.ShortName,
t0.CardName
having Str(Isnull(Sum(T1.DEBIT) - Abs(Sum(T1.CREDIT)), 0), 13, 2) <> 0
ORDER BY t1.ShortName
我遇到以下错误:将varchar值“-2446290.95”转换为int数据类型时,转换失败。由于我没有创建此数据库,我甚至很难发现值不是我认为/期望的类型。运行“0”时,我得到相同的结果,结果与您可能已强制转换字段的结果没有差异,其中castFINAL作为整数0谢谢你的建议,但我仍然得到相同的错误我的FINAL有STR子句这就是为什么我一直得到错误,两种解决方案都有效,但当作为int进行比较时,我得到相同的错误,将varchar值“0.00”转换为数据类型int时,转换失败。当我将其作为字符进行比较时,我得到了相同的结果,0的更改/忽略没有找到它,我将STR保留在having子句中